Commit: 94af455e37ae6121f2af5987fb694eb7d44f6cde Author: Campbell Barton Date: Wed Jun 26 12:50:42 2019 +1000 Branches: master https://developer.blender.org/rB94af455e37ae6121f2af5987fb694eb7d44f6cde
RNA: only search necessary space types when unregistered panels =================================================================== M source/blender/makesrna/intern/rna_ui.c =================================================================== diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c index a2339a815dc..097e62a1fea 100644 --- a/source/blender/makesrna/intern/rna_ui.c +++ b/source/blender/makesrna/intern/rna_ui.c @@ -207,18 +207,21 @@ static void rna_Panel_unregister(Main *bmain, StructRNA *type) child_pt->parent = NULL; } + const char space_type = pt->space_type; BLI_freelistN(&pt->children); BLI_freelinkN(&art->paneltypes, pt); for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) { for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { - ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; - for (ARegion *region = regionbase->first; region; region = region->next) { - if (region->type == art) { - for (Panel *pa = region->panels.first; pa; pa = pa->next) { - if (pa->type == pt) { - pa->type = NULL; + if (sl->spacetype == space_type) { + ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; + for (ARegion *region = regionbase->first; region; region = region->next) { + if (region->type == art) { + for (Panel *pa = region->panels.first; pa; pa = pa->next) { + if (pa->type == pt) { + pa->type = NULL; + } } } } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs