[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56362] trunk/blender: Fix for "new" Cycles handling of textures, UI code assumed all texture users use " texture" as prop name, but at least WeightVG modifiers do not.

Bastien Montagne montagne29 at wanadoo.fr
Sun Apr 28 17:20:52 CEST 2013


Revision: 56362
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56362
Author:   mont29
Date:     2013-04-28 15:20:52 +0000 (Sun, 28 Apr 2013)
Log Message:
-----------
Fix for "new" Cycles handling of textures, UI code assumed all texture users use "texture" as prop name, but at least WeightVG modifiers do not.

Fixed by adding a "texture_user_property" member to spacebuts' context, and using it to get the prop identifier in ui script.

Thanks to Brecht for its advice!

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/addon/ui.py
    trunk/blender/source/blender/editors/space_buttons/buttons_context.c

Modified: trunk/blender/intern/cycles/blender/addon/ui.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/ui.py	2013-04-28 13:02:46 UTC (rev 56361)
+++ trunk/blender/intern/cycles/blender/addon/ui.py	2013-04-28 15:20:52 UTC (rev 56362)
@@ -896,8 +896,9 @@
 
             if pin_id:
                 col.template_ID(space, "pin_id")
-            elif user:
-                col.template_ID(user, "texture", new="texture.new")
+            else:
+                propname = context.texture_user_property.identifier
+                col.template_ID(user, propname, new="texture.new")
 
             if tex:
                 split = layout.split(percentage=0.2)

Modified: trunk/blender/source/blender/editors/space_buttons/buttons_context.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/buttons_context.c	2013-04-28 13:02:46 UTC (rev 56361)
+++ trunk/blender/source/blender/editors/space_buttons/buttons_context.c	2013-04-28 15:20:52 UTC (rev 56362)
@@ -685,7 +685,7 @@
 const char *buttons_context_dir[] = {
 	"texture_slot", "world", "object", "mesh", "armature", "lattice", "curve",
 	"meta_ball", "lamp", "speaker", "camera", "material", "material_slot",
-	"texture", "texture_user", "bone", "edit_bone",
+	"texture", "texture_user", "texture_user_property", "bone", "edit_bone",
 	"pose_bone", "particle_system", "particle_system_editable", "particle_settings",
 	"cloth", "soft_body", "fluid", "smoke", "collision", "brush", "dynamic_paint", NULL
 };
@@ -795,6 +795,19 @@
 
 		return 1;
 	}
+	else if (CTX_data_equals(member, "texture_user_property")) {
+		ButsContextTexture *ct = sbuts->texuser;
+
+		if (!ct)
+			return -1;  /* old shading system (found but not available) */
+
+		if (ct->user && ct->user->ptr.data) {
+			ButsTextureUser *user = ct->user;
+			CTX_data_pointer_set(result, NULL, &RNA_Property, user->prop);
+		}
+
+		return 1;
+	}
 	else if (CTX_data_equals(member, "texture_node")) {
 		ButsContextTexture *ct = sbuts->texuser;
 




More information about the Bf-blender-cvs mailing list