[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25269] trunk/blender/source/blender: Fix for 'Copy materials to selected' button freezing when using linked geometry

Matt Ebb matt at mke3.net
Thu Dec 10 02:30:48 CET 2009


Revision: 25269
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25269
Author:   broken
Date:     2009-12-10 02:30:47 +0100 (Thu, 10 Dec 2009)

Log Message:
-----------
Fix for 'Copy materials to selected' button freezing when using linked geometry

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_shading.c
    trunk/blender/source/blender/editors/space_buttons/space_buttons.c
    trunk/blender/source/blender/makesrna/intern/rna_object.c

Modified: trunk/blender/source/blender/editors/render/render_shading.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_shading.c	2009-12-10 01:29:43 UTC (rev 25268)
+++ trunk/blender/source/blender/editors/render/render_shading.c	2009-12-10 01:30:47 UTC (rev 25269)
@@ -442,7 +442,9 @@
 
 	CTX_DATA_BEGIN(C, Object*, ob_iter, selected_editable_objects) {
 		if(ob != ob_iter && give_matarar(ob_iter)) {
-			assign_matarar(ob_iter, matar, ob->totcol);
+			if (ob->data != ob_iter->data)
+				assign_matarar(ob_iter, matar, ob->totcol);
+			
 			if(ob_iter->totcol==ob->totcol) {
 				ob_iter->actcol= ob->actcol;
 				WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob_iter);

Modified: trunk/blender/source/blender/editors/space_buttons/space_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2009-12-10 01:29:43 UTC (rev 25268)
+++ trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2009-12-10 01:30:47 UTC (rev 25269)
@@ -274,6 +274,7 @@
 				case ND_CONSTRAINT:
 					ED_area_tag_redraw(sa);
 					break;
+				case ND_DRAW:
 				case ND_SHADING:
 				case ND_SHADING_DRAW:
 					/* currently works by redraws... if preview is set, it (re)starts job */

Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c	2009-12-10 01:29:43 UTC (rev 25268)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c	2009-12-10 01:30:47 UTC (rev 25269)
@@ -1040,13 +1040,13 @@
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_pointer_funcs(prop, "rna_MaterialSlot_material_get", "rna_MaterialSlot_material_set", NULL);
 	RNA_def_property_ui_text(prop, "Material", "Material datablock used by this material slot.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_SHADING, "rna_Object_update");
+	RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_update");
 
 	prop= RNA_def_property(srna, "link", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_items(prop, link_items);
 	RNA_def_property_enum_funcs(prop, "rna_MaterialSlot_link_get", "rna_MaterialSlot_link_set", NULL);
 	RNA_def_property_ui_text(prop, "Link", "Link material to object or the object's data.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_SHADING, "rna_Object_update");
+	RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_update");
 
 	prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_funcs(prop, "rna_MaterialSlot_name_get", "rna_MaterialSlot_name_length", NULL);





More information about the Bf-blender-cvs mailing list