Commit: d219312d44d7153dfe74eeef1dd0f8cbbc1340f3
Author: Joshua Leung
Date:   Sun Mar 9 19:23:32 2014 +1300
https://developer.blender.org/rBd219312d44d7153dfe74eeef1dd0f8cbbc1340f3

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);
+                       }
                }
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to