[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