[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31995] trunk/blender/source/blender: Fixed problems with outliner update in same cases caused by my previous commit .

Sergey Sharybin g.ulairi at gmail.com
Sat Sep 18 10:37:47 CEST 2010


Revision: 31995
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31995
Author:   nazgul
Date:     2010-09-18 10:37:47 +0200 (Sat, 18 Sep 2010)

Log Message:
-----------
Fixed problems with outliner update in same cases caused by my previous commit.
This troubles were caused by "break" of ND_OBJECT case in outliner area listener,
so not all cases were handled.

Handle more data and actions in outline listener, but not refresh when it's
actually unneeded (there where problems with it without that "break" -- extra
refreshing could be made).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_constraint.c
    trunk/blender/source/blender/editors/space_outliner/space_outliner.c
    trunk/blender/source/blender/makesrna/intern/rna_constraint.c
    trunk/blender/source/blender/makesrna/intern/rna_modifier.c
    trunk/blender/source/blender/makesrna/intern/rna_object.c
    trunk/blender/source/blender/windowmanager/WM_types.h

Modified: trunk/blender/source/blender/editors/object/object_constraint.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_constraint.c	2010-09-18 07:19:32 UTC (rev 31994)
+++ trunk/blender/source/blender/editors/object/object_constraint.c	2010-09-18 08:37:47 UTC (rev 31995)
@@ -808,7 +808,7 @@
 		ED_object_constraint_update(ob); /* needed to set the flags on posebones correctly */
 
 		/* notifiers */
-		WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
+		WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT|NA_REMOVED, ob);
 		
 		return OPERATOR_FINISHED;
 	}

Modified: trunk/blender/source/blender/editors/space_outliner/space_outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2010-09-18 07:19:32 UTC (rev 31994)
+++ trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2010-09-18 08:37:47 UTC (rev 31995)
@@ -113,11 +113,21 @@
 					break;
 				case ND_BONE_ACTIVE:
 				case ND_BONE_SELECT:
+				case ND_PARENT:
 					ED_region_tag_redraw(ar);
 					break;
+				case ND_CONSTRAINT:
+					switch(wmn->action) {
+						case NA_ADDED:
+						case NA_REMOVED:
+						case NA_RENAME:
+							ED_region_tag_redraw(ar);
+							break;
+					}
+					break;
 				case ND_MODIFIER:
-					if(wmn->action == NA_RENAME)
-						ED_region_tag_redraw(ar);
+					/* all modifier actions now */
+					ED_region_tag_redraw(ar);
 					break;
 			}
 			break;

Modified: trunk/blender/source/blender/makesrna/intern/rna_constraint.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2010-09-18 07:19:32 UTC (rev 31994)
+++ trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2010-09-18 08:37:47 UTC (rev 31995)
@@ -1919,6 +1919,7 @@
 	RNA_def_property_string_funcs(prop, NULL, NULL, "rna_Constraint_name_set");
 	RNA_def_property_ui_text(prop, "Name", "Constraint name");
 	RNA_def_struct_name_property(srna, prop);
+	RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT|NA_RENAME, NULL);
 	
 	/* enums */
 	prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);

Modified: trunk/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2010-09-18 07:19:32 UTC (rev 31994)
+++ trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2010-09-18 08:37:47 UTC (rev 31995)
@@ -2280,6 +2280,7 @@
 	RNA_def_property_boolean_sdna(prop, NULL, "mode", eModifierMode_Render);
 	RNA_def_property_ui_text(prop, "Render", "Use modifier during rendering");
 	RNA_def_property_ui_icon(prop, ICON_SCENE, 0);
+	RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, NULL);
 	
 	prop= RNA_def_property(srna, "show_in_editmode", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "mode", eModifierMode_Editmode);

Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c	2010-09-18 07:19:32 UTC (rev 31994)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c	2010-09-18 08:37:47 UTC (rev 31995)
@@ -216,6 +216,7 @@
 {
 	DAG_id_flush_update(ptr->id.data, OB_RECALC_OB);
 	DAG_scene_sort(bmain, scene);
+	WM_main_add_notifier(NC_OBJECT|ND_PARENT, ptr->id.data);
 }
 
 /* when changing the selection flag the scene needs updating */

Modified: trunk/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_types.h	2010-09-18 07:19:32 UTC (rev 31994)
+++ trunk/blender/source/blender/windowmanager/WM_types.h	2010-09-18 08:37:47 UTC (rev 31995)
@@ -198,6 +198,7 @@
 #define ND_CONSTRAINT		(24<<16)
 #define ND_PARTICLE			(25<<16)
 #define ND_POINTCACHE		(26<<16)
+#define ND_PARENT			(27<<16)
 
 	/* NC_MATERIAL Material */
 #define	ND_SHADING			(30<<16)





More information about the Bf-blender-cvs mailing list