Revision: 59552
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59552
Author:   ack-err
Date:     2013-08-27 14:19:26 +0000 (Tue, 27 Aug 2013)
Log Message:
-----------
Handling notifiers in a better way and removed the redraw loop for the operator 
redo panel.

Modified Paths:
--------------
    
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/space_view3d.c
    
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/view3d_toolbar.c

Modified: 
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- 
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/space_view3d.c  
    2013-08-27 11:05:56 UTC (rev 59551)
+++ 
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/space_view3d.c  
    2013-08-27 14:19:26 UTC (rev 59552)
@@ -774,14 +774,6 @@
        }
 }
 
-static void view3d_main_area_listener_refresh(bScreen *sc, ScrArea *sa, 
ARegion *ar)
-{
-       ARegion *redo = BKE_area_find_region_type(sa, RGN_TYPE_TOOL_PROPS);
-       ED_region_tag_redraw(ar);
-       ED_region_tag_redraw(redo);
-       sc->do_refresh = TRUE;
-}
-
 static void view3d_main_area_listener(bScreen *sc, ScrArea *sa, ARegion *ar, 
wmNotifier *wmn)
 {
        Scene *scene = sc->scene;
@@ -793,16 +785,16 @@
                        switch (wmn->data) {
                                case ND_KEYFRAME_PROP:
                                case ND_NLA_ACTCHANGE:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                                case ND_NLA:
                                case ND_KEYFRAME:
                                        if (wmn->action == NA_EDITED)
-                                               
view3d_main_area_listener_refresh(sc, sa, ar);
+                                               ED_region_tag_redraw(ar);
                                        break;
                                case ND_ANIMCHAN:
                                        if (wmn->action == NA_SELECTED)
-                                               
view3d_main_area_listener_refresh(sc, sa, ar);
+                                               ED_region_tag_redraw(ar);
                                        break;
                        }
                        break;
@@ -811,7 +803,7 @@
                                case ND_LAYER_CONTENT:
                                        if (wmn->reference)
                                                view3d_recalc_used_layers(ar, 
wmn, wmn->reference);
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                                case ND_FRAME:
                                case ND_TRANSFORM:
@@ -821,14 +813,14 @@
                                case ND_LAYER:
                                case ND_RENDER_OPTIONS:
                                case ND_MODE:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                                case ND_WORLD:
                                        /* handled by space_view3d_listener() 
for v3d access */
                                        break;
                        }
                        if (wmn->action == NA_EDITED)
-                               view3d_main_area_listener_refresh(sc, sa, ar);
+                               ED_region_tag_redraw(ar);
                        break;
                case NC_OBJECT:
                        switch (wmn->data) {
@@ -841,12 +833,12 @@
                                case ND_CONSTRAINT:
                                case ND_KEYS:
                                case ND_PARTICLE:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
                        switch (wmn->action) {
                                case NA_ADDED:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
                        break;
@@ -855,22 +847,22 @@
                                case ND_DATA:
                                case ND_VERTEX_GROUP:
                                case ND_SELECT:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
                        switch (wmn->action) {
                                case NA_EDITED:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
                        break;
                case NC_GROUP:
                        /* all group ops for now */
-                       view3d_main_area_listener_refresh(sc, sa, ar);
+                       ED_region_tag_redraw(ar);
                        break;
                case NC_BRUSH:
                        if (wmn->action == NA_EDITED)
-                               view3d_main_area_listener_refresh(sc, sa, ar);
+                               ED_region_tag_redraw_overlay(ar);
                        break;
                case NC_MATERIAL:
                        switch (wmn->data) {
@@ -878,11 +870,13 @@
                                case ND_NODES:
                                        if ((v3d->drawtype == OB_MATERIAL) ||
                                            (v3d->drawtype == OB_TEXTURE && 
scene->gm.matmode == GAME_MAT_GLSL))
-                                               
view3d_main_area_listener_refresh(sc, sa, ar);
+                                       {
+                                               ED_region_tag_redraw(ar);
+                                       }
                                        break;
                                case ND_SHADING_DRAW:
                                case ND_SHADING_LINKS:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
                        break;
@@ -894,8 +888,9 @@
                                case ND_WORLD_STARS:
                                {
                                        RegionView3D *rv3d = ar->regiondata;
-                                       if (rv3d->persp == RV3D_CAMOB)
-                                               
view3d_main_area_listener_refresh(sc, sa, ar);
+                                       if (rv3d->persp == RV3D_CAMOB) {
+                                               ED_region_tag_redraw(ar);
+                                       }
                                }
                        }
                        break;
@@ -904,25 +899,27 @@
                                case ND_LIGHTING:
                                        if ((v3d->drawtype == OB_MATERIAL) ||
                                            (v3d->drawtype == OB_TEXTURE && 
(scene->gm.matmode == GAME_MAT_GLSL)))
-                                               
view3d_main_area_listener_refresh(sc, sa, ar);
+                                       {
+                                               ED_region_tag_redraw(ar);
+                                       }
                                        break;
                                case ND_LIGHTING_DRAW:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
                        break;
                case NC_IMAGE:
                        /* this could be more fine grained checks if we had
                         * more context than just the region */
-                       view3d_main_area_listener_refresh(sc, sa, ar);
+                       ED_region_tag_redraw(ar);
                        break;
                case NC_TEXTURE:
                        /* same as above */
-                       view3d_main_area_listener_refresh(sc, sa, ar);
+                       ED_region_tag_redraw(ar);
                        break;
                case NC_MOVIECLIP:
                        if (wmn->data == ND_DISPLAY)
-                               view3d_main_area_listener_refresh(sc, sa, ar);
+                               ED_region_tag_redraw(ar);
                        break;
                case NC_SPACE:
                        if (wmn->data == ND_SPACE_VIEW3D) {
@@ -930,18 +927,19 @@
                                        RegionView3D *rv3d = ar->regiondata;
                                        rv3d->rflag |= RV3D_GPULIGHT_UPDATE;
                                }
-                               view3d_main_area_listener_refresh(sc, sa, ar);
+                               ED_region_tag_redraw(ar);
+                               sc->do_refresh = TRUE;
                        }
                        break;
                case NC_ID:
                        if (wmn->action == NA_RENAME)
-                               view3d_main_area_listener_refresh(sc, sa, ar);
+                               ED_region_tag_redraw(ar);
                        break;
                case NC_SCREEN:
                        switch (wmn->data) {
                                case ND_ANIMPLAY:
                                case ND_SKETCH:
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                                case ND_SCREENBROWSE:
                                case ND_SCREENDELETE:
@@ -952,18 +950,15 @@
                                                bScreen *sc = wmn->reference;
                                                view3d_recalc_used_layers(ar, 
wmn, sc->scene);
                                        }
-                                       view3d_main_area_listener_refresh(sc, 
sa, ar);
+                                       ED_region_tag_redraw(ar);
                                        break;
                        }
+
                        break;
                case NC_GPENCIL:
                        if (wmn->action == NA_EDITED)
-                               view3d_main_area_listener_refresh(sc, sa, ar);
+                               ED_region_tag_redraw(ar);
                        break;
-               case NC_WM:
-                       if (wmn->data == ND_HISTORY)
-                               view3d_main_area_listener_refresh(sc, sa, ar);
-                       break;
        }
 }
 
@@ -1159,22 +1154,14 @@
        ED_region_menubar(C, ar);
 }
 
-static void view3d_menubar_area_listener(bScreen *sc, ScrArea *UNUSED(sa), 
ARegion *ar, wmNotifier *wmn)
+static void view3d_menubar_area_listener(bScreen *UNUSED(sc), ScrArea 
*UNUSED(sa), ARegion *ar, wmNotifier *wmn)
 {
        /* context changes */
        switch (wmn->category) {
-               case NC_WM:
-                       if (wmn->data == ND_HISTORY)
-                               ED_region_tag_redraw(ar);
-                       break;
                case NC_SCENE:
                        if (wmn->data == ND_MODE)
                                ED_region_tag_redraw(ar);
                        break;
-               case NC_SPACE:
-                       if (wmn->data == ND_SPACE_VIEW3D)
-                               ED_region_tag_redraw(ar);
-                       break;
        }
 }
 
@@ -1195,7 +1182,7 @@
        WM_event_add_keymap_handler(&ar->handlers, keymap);
 }
 
-static void view3d_props_area_listener(bScreen *sc, ScrArea *UNUSED(sa), 
ARegion *ar, wmNotifier *wmn)
+static void view3d_props_area_listener(bScreen *UNUSED(sc), ScrArea 
*UNUSED(sa), ARegion *ar, wmNotifier *wmn)
 {
        /* context changes */
        switch (wmn->category) {
@@ -1206,6 +1193,8 @@
                case NC_SCENE:
                        if (wmn->data == ND_MODE)
                                ED_region_tag_redraw(ar);
+                       if (wmn->action == NA_EDITED)
+                               ED_region_tag_redraw(ar);
                        break;
                case NC_SPACE:
                        if (wmn->data == ND_SPACE_VIEW3D)

Modified: 
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/view3d_toolbar.c
===================================================================
--- 
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/view3d_toolbar.c
    2013-08-27 11:05:56 UTC (rev 59551)
+++ 
branches/soc-2013-ui_replay/source/blender/editors/space_view3d/view3d_toolbar.c
    2013-08-27 14:19:26 UTC (rev 59552)
@@ -120,9 +120,6 @@
 
        /* set region back */
        CTX_wm_region_set((bContext *)C, ar);
-       ED_region_tag_redraw(ar);
-       
-       WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 }
 
 static void collapse_all_panels(bContext *C, void *UNUSED(arg1), void 
*UNUSED(arg2))

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

Reply via email to