[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52560] trunk/blender/source/blender: Fix #33310: unnecessary redraw of outliner when editing materials and textures.

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Nov 26 09:52:10 CET 2012


Revision: 52560
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52560
Author:   blendix
Date:     2012-11-26 08:52:07 +0000 (Mon, 26 Nov 2012)
Log Message:
-----------
Fix #33310: unnecessary redraw of outliner when editing materials and textures.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_select.c
    trunk/blender/source/blender/editors/object/object_relations.c
    trunk/blender/source/blender/editors/render/render_shading.c
    trunk/blender/source/blender/editors/space_buttons/space_buttons.c
    trunk/blender/source/blender/editors/space_node/space_node.c
    trunk/blender/source/blender/editors/space_outliner/outliner_edit.c
    trunk/blender/source/blender/editors/space_outliner/outliner_select.c
    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_material.c
    trunk/blender/source/blender/makesrna/intern/rna_object.c
    trunk/blender/source/blender/makesrna/intern/rna_texture.c
    trunk/blender/source/blender/windowmanager/WM_types.h

Modified: trunk/blender/source/blender/editors/mesh/editmesh_select.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_select.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/mesh/editmesh_select.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -1871,7 +1871,7 @@
 			vc.obedit->actcol = efa->mat_nr + 1;
 			vc.em->mat_nr = efa->mat_nr;
 
-			WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING, NULL);
+			WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_LINKS, NULL);
 
 		}
 

Modified: trunk/blender/source/blender/editors/object/object_relations.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_relations.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/object/object_relations.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -2148,7 +2148,7 @@
 	
 	DAG_ids_flush_update(bmain, 0);
 	WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
-	WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING, ma);
+	WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_LINKS, ma);
 	
 	return OPERATOR_FINISHED;
 }

Modified: trunk/blender/source/blender/editors/render/render_shading.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_shading.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/render/render_shading.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -865,7 +865,7 @@
 
 	paste_matcopybuf(ma);
 
-	WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_DRAW, ma);
+	WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_LINKS, ma);
 
 	return OPERATOR_FINISHED;
 }
@@ -1027,7 +1027,7 @@
 
 	paste_mtex_copybuf(id);
 
-	WM_event_add_notifier(C, NC_TEXTURE | ND_SHADING_DRAW, NULL);
+	WM_event_add_notifier(C, NC_TEXTURE | ND_SHADING_LINKS, NULL);
 
 	return OPERATOR_FINISHED;
 }

Modified: trunk/blender/source/blender/editors/space_buttons/space_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -297,6 +297,7 @@
 					buttons_area_redraw(sa, BCONTEXT_PHYSICS);
 				case ND_SHADING:
 				case ND_SHADING_DRAW:
+				case ND_SHADING_LINKS:
 					/* currently works by redraws... if preview is set, it (re)starts job */
 					sbuts->preview = 1;
 					break;
@@ -319,6 +320,7 @@
 			switch (wmn->data) {
 				case ND_SHADING:
 				case ND_SHADING_DRAW:
+				case ND_SHADING_LINKS:
 				case ND_NODES:
 					/* currently works by redraws... if preview is set, it (re)starts job */
 					sbuts->preview = 1;

Modified: trunk/blender/source/blender/editors/space_node/space_node.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/space_node.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/space_node/space_node.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -193,6 +193,8 @@
 					ED_area_tag_refresh(sa);
 				else if (wmn->data == ND_SHADING_DRAW)
 					ED_area_tag_refresh(sa);
+				else if (wmn->data == ND_SHADING_LINKS)
+					ED_area_tag_refresh(sa);
 				else if (wmn->action == NA_ADDED && snode->edittree)
 					nodeSetActiveID(snode->edittree, ID_MA, wmn->reference);
 

Modified: trunk/blender/source/blender/editors/space_outliner/outliner_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner_edit.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/space_outliner/outliner_edit.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -1859,7 +1859,7 @@
 
 		DAG_ids_flush_update(bmain, 0);
 		WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
-		WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING, ma);
+		WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_LINKS, ma);
 
 		return OPERATOR_FINISHED;
 	}

Modified: trunk/blender/source/blender/editors/space_outliner/outliner_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner_select.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/space_outliner/outliner_select.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -222,7 +222,7 @@
 		}
 	}
 	if (set) {
-		WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING, NULL);
+		WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING_LINKS, NULL);
 	}
 	return 0;
 }

Modified: trunk/blender/source/blender/editors/space_outliner/space_outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -326,15 +326,11 @@
 			break;
 		case NC_MATERIAL:
 			switch (wmn->data) {
-				case ND_SHADING:
-				case ND_SHADING_DRAW:
+				case ND_SHADING_LINKS:
 					ED_region_tag_redraw(ar);
 					break;
 			}
 			break;
-		case NC_TEXTURE:
-			ED_region_tag_redraw(ar);
-			break;
 		case NC_GEOM:
 			switch (wmn->data) {
 				case ND_VERTEX_GROUP:

Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -724,6 +724,7 @@
 		case NC_MATERIAL:
 			switch (wmn->data) {
 				case ND_SHADING_DRAW:
+				case ND_SHADING_LINKS:
 					ED_region_tag_redraw(ar);
 					break;
 			}

Modified: trunk/blender/source/blender/makesrna/intern/rna_material.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_material.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/makesrna/intern/rna_material.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -2121,13 +2121,13 @@
 		RNA_def_property_editable_func(prop, activeeditable);
 	RNA_def_property_pointer_funcs(prop, activeget, activeset, NULL, NULL);
 	RNA_def_property_ui_text(prop, "Active Texture", "Active texture slot being displayed");
-	RNA_def_property_update(prop, 0, update);
+	RNA_def_property_update(prop, NC_MATERIAL | ND_SHADING_LINKS, update);
 
 	prop = RNA_def_property(srna, "active_texture_index", PROP_INT, PROP_UNSIGNED);
 	RNA_def_property_int_sdna(prop, NULL, "texact");
 	RNA_def_property_range(prop, 0, MAX_MTEX - 1);
 	RNA_def_property_ui_text(prop, "Active Texture Index", "Index of active texture slot");
-	RNA_def_property_update(prop, 0, update);
+	RNA_def_property_update(prop, NC_MATERIAL | ND_SHADING_LINKS, update);
 }
 
 #endif

Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -2174,7 +2174,7 @@
 	RNA_def_property_int_funcs(prop, "rna_Object_active_material_index_get", "rna_Object_active_material_index_set",
 	                           "rna_Object_active_material_index_range");
 	RNA_def_property_ui_text(prop, "Active Material Index", "Index of active material slot");
-	RNA_def_property_update(prop, NC_MATERIAL | ND_SHADING, NULL);
+	RNA_def_property_update(prop, NC_MATERIAL | ND_SHADING_LINKS, NULL);
 	
 	/* transform */
 	prop = RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);

Modified: trunk/blender/source/blender/makesrna/intern/rna_texture.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_texture.c	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/makesrna/intern/rna_texture.c	2012-11-26 08:52:07 UTC (rev 52560)
@@ -46,6 +46,9 @@
 
 #include "BKE_node.h"
 
+#include "WM_api.h"
+#include "WM_types.h"
+
 EnumPropertyItem texture_filter_items[] = {
 	{TXF_BOX, "BOX", 0, "Box", ""},
 	{TXF_EWA, "EWA", 0, "EWA", ""},
@@ -110,9 +113,6 @@
 
 #include "ED_node.h"
 
-#include "WM_api.h"
-#include "WM_types.h"
-
 static StructRNA *rna_Texture_refine(struct PointerRNA *ptr)
 {
 	Tex *tex = (Tex *)ptr->data;
@@ -603,7 +603,7 @@
 	RNA_def_property_struct_type(prop, "Texture");
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_ui_text(prop, "Texture", "Texture datablock used by this texture slot");
-	RNA_def_property_update(prop, 0, "rna_TextureSlot_update");
+	RNA_def_property_update(prop, NC_MATERIAL | ND_SHADING_LINKS, "rna_TextureSlot_update");
 
 	prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_funcs(prop, "rna_TextureSlot_name_get", "rna_TextureSlot_name_length", NULL);

Modified: trunk/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_types.h	2012-11-26 08:44:37 UTC (rev 52559)
+++ trunk/blender/source/blender/windowmanager/WM_types.h	2012-11-26 08:52:07 UTC (rev 52560)
@@ -300,6 +300,7 @@
 	/* NC_MATERIAL Material */
 #define	ND_SHADING			(30<<16)
 #define	ND_SHADING_DRAW		(31<<16)
+#define	ND_SHADING_LINKS	(32<<16)
 
 	/* NC_LAMP Lamp */
 #define	ND_LIGHTING			(40<<16)




More information about the Bf-blender-cvs mailing list