From bf65ed94472ea66983081bdbacac5d1f11feb68c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 22 May 2011 17:10:24 +0000 Subject: [PATCH] fix [#27443] "Make single user Material+Tex" doesn't work for textures --- source/blender/editors/object/object_relations.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 086d458f3e0..8078bfbeb93 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1543,11 +1543,12 @@ static void single_mat_users(Scene *scene, int flag, int do_textures) if(do_textures) { for(b=0; bmtex[b] && ma->mtex[b]->tex) { - tex= ma->mtex[b]->tex; + if(ma->mtex[b] && (tex= ma->mtex[b]->tex)) { if(tex->id.us>1) { - ma->mtex[b]->tex= copy_texture(tex); tex->id.us--; + tex= copy_texture(tex); + BKE_copy_animdata_id_action(&tex->id); + ma->mtex[b]->tex= tex; } } } @@ -1818,11 +1819,12 @@ static int make_single_user_exec(bContext *C, wmOperator *op) single_obdata_users(bmain, scene, flag); if(RNA_boolean_get(op->ptr, "material")) - single_mat_users(scene, flag, FALSE); + single_mat_users(scene, flag, RNA_boolean_get(op->ptr, "texture")); +#if 0 /* can't do this separate from materials */ if(RNA_boolean_get(op->ptr, "texture")) single_mat_users(scene, flag, TRUE); - +#endif if(RNA_boolean_get(op->ptr, "animation")) single_object_action_users(scene, flag);