[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32435] trunk/blender: bugfix [#24231] outliner not refreshed correctly

Campbell Barton ideasman42 at gmail.com
Wed Oct 13 03:10:57 CEST 2010


Revision: 32435
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32435
Author:   campbellbarton
Date:     2010-10-13 03:10:56 +0200 (Wed, 13 Oct 2010)

Log Message:
-----------
bugfix [#24231] outliner not refreshed correctly
also made world changes only redraw the 3d view if 'Render Only' option is set.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/source/blender/editors/space_outliner/space_outliner.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/makesrna/intern/rna_world.c
    trunk/blender/source/blender/windowmanager/WM_types.h

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2010-10-13 00:08:24 UTC (rev 32434)
+++ trunk/blender/CMakeLists.txt	2010-10-13 01:10:56 UTC (rev 32435)
@@ -128,7 +128,7 @@
 
 
 IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
-	MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
+	MESSAGE(FATAL_ERROR "WITH_PLAYER needs WITH_GAMEENGINE")
 ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
 
 IF(NOT WITH_INSTALL AND WITH_PYTHON_INSTALL)
@@ -334,7 +334,7 @@
 
 	# Setup 64bit and 64bit windows systems
 	IF(CMAKE_CL_64)
-		message("64 bit compiler detected.")
+		MESSAGE("64 bit compiler detected.")
 		SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64)
 	ENDIF(CMAKE_CL_64)
 	

Modified: trunk/blender/source/blender/editors/space_outliner/space_outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2010-10-13 00:08:24 UTC (rev 32434)
+++ trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2010-10-13 01:10:56 UTC (rev 32435)
@@ -104,6 +104,7 @@
 				case ND_FRAME:
 				case ND_RENDER_OPTIONS:
 				case ND_LAYER:
+				case ND_WORLD:
 					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	2010-10-13 00:08:24 UTC (rev 32434)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2010-10-13 01:10:56 UTC (rev 32435)
@@ -548,22 +548,36 @@
 		base= base->next;
 	}
 
-	sa= win->screen->areabase.first;
-	while(sa) {
-		if(sa->spacetype == SPACE_VIEW3D)
-			if(BLI_findindex(&sa->regionbase, ar) >= 0) {
+	for(sa= win->screen->areabase.first; sa; sa= sa->next) {
+		if(sa->spacetype == SPACE_VIEW3D) {
+			if(BLI_findindex(&sa->regionbase, ar) != -1) {
 				View3D *v3d= sa->spacedata.first;
 				v3d->lay_used= lay_used;
 				break;
 			}
+		}
+	}
+}
 
-		sa= sa->next;
+static View3D *view3d_from_wmn(ARegion *ar, wmNotifier *wmn)
+{
+	wmWindow *win= wmn->wm->winactive;
+	ScrArea *sa;
+
+	for(sa= win->screen->areabase.first; sa; sa= sa->next) {
+		if(sa->spacetype == SPACE_VIEW3D)
+			if(BLI_findindex(&sa->regionbase, ar) != -1) {
+				return (View3D *)sa->spacedata.first;
+			}
 	}
+
+	return NULL;
 }
 
 static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
 {
 	bScreen *sc;
+	View3D *v3d;
 
 	/* context changes */
 	switch(wmn->category) {
@@ -600,6 +614,11 @@
 				case ND_MODE:
 					ED_region_tag_redraw(ar);
 					break;
+				case ND_WORLD:
+					v3d= view3d_from_wmn(ar, wmn);
+					if(v3d->flag2 & V3D_RENDER_OVERRIDE)
+						ED_region_tag_redraw(ar);
+					break;
 			}
 			if (wmn->action == NA_EDITED)
 				ED_region_tag_redraw(ar);
@@ -650,7 +669,9 @@
 		case NC_WORLD:
 			switch(wmn->data) {
 				case ND_WORLD_DRAW:
-					ED_region_tag_redraw(ar);
+					v3d= view3d_from_wmn(ar, wmn);
+					if(v3d->flag2 & V3D_RENDER_OVERRIDE)
+						ED_region_tag_redraw(ar);
 					break;
 			}
 			break;

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-10-13 00:08:24 UTC (rev 32434)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-10-13 01:10:56 UTC (rev 32435)
@@ -3094,7 +3094,7 @@
 	prop= RNA_def_property(srna, "world", PROP_POINTER, PROP_NONE);
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_ui_text(prop, "World", "World used for rendering the scene");
-	RNA_def_property_update(prop, NC_SCENE|NC_WORLD, NULL);
+	RNA_def_property_update(prop, NC_SCENE|ND_WORLD, NULL);
 
 	prop= RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_XYZ_LENGTH);
 	RNA_def_property_float_sdna(prop, NULL, "cursor");

Modified: trunk/blender/source/blender/makesrna/intern/rna_world.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_world.c	2010-10-13 00:08:24 UTC (rev 32434)
+++ trunk/blender/source/blender/makesrna/intern/rna_world.c	2010-10-13 01:10:56 UTC (rev 32435)
@@ -478,10 +478,9 @@
 	RNA_def_property_array(prop, 3);
 	RNA_def_property_ui_text(prop, "Horizon Color", "Color at the horizon");
 	/* RNA_def_property_update(prop, 0, "rna_World_update"); */
-	/* render-only uses this, the notifier could be made to be more spesific */
-	RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, "rna_World_update");
+	/* render-only uses this */
+	RNA_def_property_update(prop, NC_WORLD|ND_WORLD_DRAW, "rna_World_update");
 
-
 	
 	prop= RNA_def_property(srna, "zenith_color", PROP_FLOAT, PROP_COLOR);
 	RNA_def_property_float_sdna(prop, NULL, "zenr");

Modified: trunk/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_types.h	2010-10-13 00:08:24 UTC (rev 32434)
+++ trunk/blender/source/blender/windowmanager/WM_types.h	2010-10-13 01:10:56 UTC (rev 32435)
@@ -191,6 +191,7 @@
 #define ND_TOOLSETTINGS		(15<<16)
 #define ND_LAYER			(16<<16)
 #define ND_FRAME_RANGE		(17<<16)
+#define ND_WORLD			(92<<16)
 #define ND_LAYER_CONTENT	(101<<16)
 
 	/* NC_OBJECT Object */





More information about the Bf-blender-cvs mailing list