Revision: 52538
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52538
Author:   blendix
Date:     2012-11-25 06:55:39 +0000 (Sun, 25 Nov 2012)
Log Message:
-----------
Fix #33296: uv editing did unnecessary outliner redraw, giving slowdown.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_vgroup.c
    trunk/blender/source/blender/editors/space_outliner/space_outliner.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/windowmanager/WM_types.h

Modified: trunk/blender/source/blender/editors/object/object_vgroup.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_vgroup.c 2012-11-25 
06:55:33 UTC (rev 52537)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c 2012-11-25 
06:55:39 UTC (rev 52538)
@@ -2574,7 +2574,7 @@
 
        ED_vgroup_add(ob);
        DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-       WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
+       WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob->data);
        WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
        
        return OPERATOR_FINISHED;
@@ -2605,7 +2605,7 @@
                vgroup_delete(ob);
 
        DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-       WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
+       WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob->data);
        WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
        
        return OPERATOR_FINISHED;
@@ -2771,7 +2771,7 @@
        vgroup_duplicate(ob);
        DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
        WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
-       WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
+       WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob->data);
 
        return OPERATOR_FINISHED;
 }
@@ -3199,7 +3199,7 @@
 
                                DAG_id_tag_update(&base->object->id, 
OB_RECALC_DATA);
                                WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, 
base->object);
-                               WM_event_add_notifier(C, NC_GEOM | ND_DATA, 
base->object->data);
+                               WM_event_add_notifier(C, NC_GEOM | 
ND_VERTEX_GROUP, base->object->data);
 
                                retval = OPERATOR_FINISHED;
                        }
@@ -3356,7 +3356,7 @@
        ob->actdef = nr + 1;
 
        DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-       WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob);
+       WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob);
 
        return OPERATOR_FINISHED;
 }
@@ -3520,7 +3520,7 @@
 
        if (ret != OPERATOR_CANCELLED) {
                DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-               WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob);
+               WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob);
        }
 
        if (name_array) MEM_freeN(name_array);
@@ -3575,7 +3575,7 @@
 
        if (ret != OPERATOR_CANCELLED) {
                DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-               WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob);
+               WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob);
        }
 
        return ret;

Modified: trunk/blender/source/blender/editors/space_outliner/space_outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/space_outliner.c        
2012-11-25 06:55:33 UTC (rev 52537)
+++ trunk/blender/source/blender/editors/space_outliner/space_outliner.c        
2012-11-25 06:55:39 UTC (rev 52538)
@@ -337,8 +337,7 @@
                        break;
                case NC_GEOM:
                        switch (wmn->data) {
-                               case ND_DATA:
-                                       /* needed for vertex groups only, no 
special notifier atm so use NC_GEOM|ND_DATA */
+                               case ND_VERTEX_GROUP:
                                        ED_region_tag_redraw(ar);
                                        break;
                        }

Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/space_view3d.c    
2012-11-25 06:55:33 UTC (rev 52537)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c    
2012-11-25 06:55:39 UTC (rev 52538)
@@ -702,6 +702,7 @@
                case NC_GEOM:
                        switch (wmn->data) {
                                case ND_DATA:
+                               case ND_VERTEX_GROUP:
                                case ND_SELECT:
                                        ED_region_tag_redraw(ar);
                                        break;
@@ -920,6 +921,7 @@
                case NC_GEOM:
                        switch (wmn->data) {
                                case ND_DATA:
+                               case ND_VERTEX_GROUP:
                                case ND_SELECT:
                                        ED_region_tag_redraw(ar);
                                        break;

Modified: trunk/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_types.h       2012-11-25 
06:55:33 UTC (rev 52537)
+++ trunk/blender/source/blender/windowmanager/WM_types.h       2012-11-25 
06:55:39 UTC (rev 52538)
@@ -326,6 +326,7 @@
        /* Mesh, Curve, MetaBall, Armature, .. */
 #define ND_SELECT                      (90<<16)
 #define ND_DATA                                (91<<16)
+#define ND_VERTEX_GROUP                (92<<16)
 
        /* NC_NODE Nodes */
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to