Revision: 18405
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18405
Author:   theeth
Date:     2009-01-07 17:52:18 +0100 (Wed, 07 Jan 2009)

Log Message:
-----------
2.5

Add notifiers to transform to insure all windows of the correct type are 
redrawn.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/transform/transform.c
    branches/blender2.5/blender/source/blender/editors/transform/transform.h
    branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c

Modified: 
branches/blender2.5/blender/source/blender/editors/transform/transform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform.c    
2009-01-07 16:49:11 UTC (rev 18404)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.c    
2009-01-07 16:52:18 UTC (rev 18405)
@@ -101,6 +101,7 @@
 #include "ED_util.h"
 #include "UI_view2d.h"
 #include "WM_types.h"
+#include "WM_api.h"
 
 #include "BLI_arithb.h"
 #include "BLI_blenlib.h"
@@ -329,13 +330,12 @@
 #endif
 }
 
-static void viewRedrawForce(TransInfo *t)
+static void viewRedrawForce(bContext *C, TransInfo *t)
 {
        if (t->spacetype == SPACE_VIEW3D)
        {
-               // TRANSFORM_FIX_ME
-               // need to redraw ALL 3d view
-               ED_area_tag_redraw(t->sa);
+               /* Do we need more refined tags? */             
+               WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
        }
        else if (t->spacetype == SPACE_ACTION) {
                SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
@@ -347,8 +347,10 @@
                else 
                        ED_area_tag_redraw(t->sa);
        }
-       else if(t->spacetype == SPACE_NODE) {
-               ED_area_tag_redraw(t->sa);
+       else if(t->spacetype == SPACE_NODE)
+       {
+               //ED_area_tag_redraw(t->sa);
+               WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL);
        }
 #if 0 // TRANSFORM_FIX_ME
        else if (t->spacetype==SPACE_IMAGE) {
@@ -1101,7 +1103,7 @@
 
 }
 
-void transformApply(TransInfo *t)
+void transformApply(bContext *C, TransInfo *t)
 {
        if (t->redraw)
        {
@@ -1111,6 +1113,7 @@
                selectConstraint(t);
                if (t->transform) {
                        t->transform(t, t->mval);  // calls recalcData()
+                       viewRedrawForce(C, t);
                }
                t->redraw = 0;
        }
@@ -1140,6 +1143,7 @@
                {
                        exit_code = OPERATOR_CANCELLED;
                        restoreTransObjects(t); // calls recalcData()
+                       viewRedrawForce(C, t);
                }
                else
                {
@@ -1850,8 +1854,6 @@
        
        ED_area_headerprint(t->sa, str);
        
-       viewRedrawForce(t);
-       
        helpline(t, gcursor);
        
        return 1;
@@ -1974,8 +1976,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        helpline (t, t->center);
 
        return 1;
@@ -2247,8 +2247,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
 
        return 1;
@@ -2340,8 +2338,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        return 1;
 }
 
@@ -2656,8 +2652,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
 
        return 1;
@@ -2765,8 +2759,6 @@
        
        ED_area_headerprint(t->sa, str);
        
-       viewRedrawForce(t);
-       
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
        
        return 1;
@@ -2959,8 +2951,6 @@
        recalcData(t);
 
        ED_area_headerprint(t->sa, str);
-       
-       viewRedrawForce(t);
 
        drawSnapping(t);
 
@@ -3039,8 +3029,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        return 1;
 }
 
@@ -3113,8 +3101,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        helpline (t, t->center);
 
        return 1;
@@ -3181,8 +3167,6 @@
        
        ED_area_headerprint(t->sa, str);
        
-       viewRedrawForce(t);
-       
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
        
        return 1;
@@ -3272,8 +3256,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        return 1;
 }
 
@@ -3387,8 +3369,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        return 1;
 }
 
@@ -3460,8 +3440,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        helpline (t, t->center);
 
        return 1;
@@ -3538,8 +3516,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        helpline (t, t->center);
 
        return 1;
@@ -3657,8 +3633,6 @@
        
        ED_area_headerprint(t->sa, str);
        
-       viewRedrawForce(t);
-       
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
        
        return 1;
@@ -3727,8 +3701,6 @@
        
        ED_area_headerprint(t->sa, str);
        
-       viewRedrawForce(t);
-       
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
        
        return 1;
@@ -3795,8 +3767,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        if(!(t->flag & T_USES_MANIPULATOR)) helpline (t, t->center);
 
        return 1;
@@ -3875,8 +3845,6 @@
 
        ED_area_headerprint(t->sa, str);
 
-       viewRedrawForce(t);
-
        helpline (t, t->center);
 
        return 1;
@@ -3933,8 +3901,6 @@
                recalcData(t);
        
                ED_area_headerprint(t->sa, str);
-       
-               viewRedrawForce(t);
        }
        else
        {
@@ -3955,8 +3921,6 @@
                recalcData(t);
        
                ED_area_headerprint(t->sa, "Select a mirror axis (X, Y, Z)");
-       
-               viewRedrawForce(t);
        }
 
        return 1;
@@ -4275,8 +4239,6 @@
        recalcData(t);
 
        ED_area_headerprint(t->sa, str);
-       
-       viewRedrawForce(t);
 
        return 1;
 }
@@ -4403,8 +4365,6 @@
        recalcData(t);
 
        ED_area_headerprint(t->sa, str);
-       
-       viewRedrawForce(t);
 
        return 1;
 }
@@ -4519,8 +4479,6 @@
        recalcData(t);
 
        ED_area_headerprint(t->sa, str);
-       
-       viewRedrawForce(t);
 
        return 1;
 }

Modified: 
branches/blender2.5/blender/source/blender/editors/transform/transform.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform.h    
2009-01-07 16:49:11 UTC (rev 18404)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.h    
2009-01-07 16:52:18 UTC (rev 18405)
@@ -344,7 +344,7 @@
 void initTransform(struct bContext *C, struct TransInfo *t, struct wmOperator 
*op, struct wmEvent *event);
 void saveTransform(struct bContext *C, struct TransInfo *t, struct wmOperator 
*op);
 void transformEvent(TransInfo *t, struct wmEvent *event);
-void transformApply(TransInfo *t);
+void transformApply(struct bContext *C, TransInfo *t);
 int  transformEnd(struct bContext *C, TransInfo *t);
 
 void setTransformViewMatrices(TransInfo *t);

Modified: 
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c    
    2009-01-07 16:49:11 UTC (rev 18404)
+++ 
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c    
    2009-01-07 16:52:18 UTC (rev 18405)
@@ -70,7 +70,7 @@
        
        transformEvent(t, event);
        
-       transformApply(t);
+       transformApply(C, t);
        
        
        exit_code = transformEnd(C, t);
@@ -104,7 +104,7 @@
 
        t->options |= CTX_AUTOCONFIRM;
 
-       transformApply(t);
+       transformApply(C, t);
        
        transformEnd(C, t);
 


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

Reply via email to