Commit: 8abe421a0fd6d4072b15ab7d95f29a16d3c45ae9
Author: Campbell Barton
Date:   Tue Jun 6 03:56:46 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rB8abe421a0fd6d4072b15ab7d95f29a16d3c45ae9

Merge branch 'blender2.8' into custom-manipulators

===================================================================



===================================================================

diff --cc source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index ec80c03dd19,ad31b1f7618..b4c3ba13c5a
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@@ -588,11 -576,10 +595,10 @@@ void WM_manipulatorgrouptype_init_runti
                                ListBase *lb = (sl == sa->spacedata.first) ? 
&sa->regionbase : &sl->regionbase;
                                for (ARegion *ar = lb->first; ar; ar = 
ar->next) {
                                        wmManipulatorMap *mmap = 
ar->manipulator_map;
 -                                      if (mmap->type == mmaptype) {
 +                                      if (mmap && mmap->type == mmaptype) {
-                                               wmManipulatorGroup *mgroup = 
wm_manipulatorgroup_new_from_type(mgrouptype);
+                                               
wm_manipulatorgroup_new_from_type(mmap, mgrouptype);
  
                                                /* just add here, drawing will 
occur on next update */
-                                               
BLI_addtail(&mmap->manipulator_groups, mgroup);
                                                
wm_manipulatormap_set_highlighted_manipulator(mmap, NULL, NULL, 0);
                                                ED_region_tag_redraw(ar);
                                        }
@@@ -610,14 -597,14 +616,15 @@@ void WM_manipulatorgrouptype_unregister
                                ListBase *lb = (sl == sa->spacedata.first) ? 
&sa->regionbase : &sl->regionbase;
                                for (ARegion *ar = lb->first; ar; ar = 
ar->next) {
                                        wmManipulatorMap *mmap = 
ar->manipulator_map;
 -                                      wmManipulatorGroup *mgroup, 
*mgroup_next;
 -
 -                                      for (mgroup = 
mmap->manipulator_groups.first; mgroup; mgroup = mgroup_next) {
 -                                              mgroup_next = mgroup->next;
 -                                              if (mgroup->type == mgrouptype) 
{
 -                                                      
BLI_assert(mgroup->parent_mmap == mmap);
 -                                                      
wm_manipulatorgroup_free(C, mgroup);
 -                                                      
ED_region_tag_redraw(ar);
 +                                      if (mmap) {
 +                                              wmManipulatorGroup *mgroup, 
*mgroup_next;
 +                                              for (mgroup = 
mmap->manipulator_groups.first; mgroup; mgroup = mgroup_next) {
 +                                                      mgroup_next = 
mgroup->next;
 +                                                      if (mgroup->type == 
mgrouptype) {
-                                                               
wm_manipulatorgroup_free(C, mmap, mgroup);
++                                                              
BLI_assert(mgroup->parent_mmap == mmap);
++                                                              
wm_manipulatorgroup_free(C, mgroup);
 +                                                              
ED_region_tag_redraw(ar);
 +                                                      }
                                                }
                                        }
                                }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to