[Bf-blender-cvs] [9550404] : Fix T39018: Duplicate entries for material/shader in AnimEditors
Joshua Leung
noreply at git.blender.org
Wed Mar 12 18:22:27 CET 2014
Commit: 95504040624393fa783ae4d12df2d8dce6c0d324
Author: Joshua Leung
Date: Sun Mar 9 19:23:32 2014 +1300
https://developer.blender.org/rB95504040624393fa783ae4d12df2d8dce6c0d324
Fix T39018: Duplicate entries for material/shader in AnimEditors
In many BI shader setups, the material which owns the nodetree is often itself
included as a node in that nodetree (i.e. to provide the base colour for that
mesh). This would often result in the material (and its subtree) getting included
in the dopesheet results twice.
===================================================================
M source/blender/editors/animation/anim_filter.c
===================================================================
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 9d54d93..a4a1e95 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1796,9 +1796,14 @@ static size_t animdata_filter_ds_materials(bAnimContext *ac, ListBase *anim_data
Material *base = give_current_material(ob, a);
Material *ma = give_node_material(base);
- /* add channels from the nested material if it exists */
- if (ma)
+ /* add channels from the nested material if it exists
+ * - skip if the same material is referenced in its node tree
+ * (which is common for BI materials) as that results in
+ * confusing duplicates
+ */
+ if ((ma) && (ma != base)) {
items += animdata_filter_ds_material(ac, anim_data, ads, ma, filter_mode);
+ }
}
}
More information about the Bf-blender-cvs
mailing list