[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59552] branches/soc-2013-ui_replay/source /blender/editors/space_view3d: Handling notifiers in a better way and removed the redraw loop for the operator redo panel .

Vincent Akkermans vincent at ack-err.net
Tue Aug 27 16:19:26 CEST 2013


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))




More information about the Bf-blender-cvs mailing list