From 24d6192f53b0bdc289dd4f24c0d6b5c3ea5e26af Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 7 Apr 2011 08:23:00 +0000 Subject: [PATCH] fix [#26816] P(separate) an object messes up logic brick links --- source/blender/editors/object/object_add.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 144c80465df..39e3f47eb6e 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -1630,7 +1630,8 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, Base *base } /* single object duplicate, if dupflag==0, fully linked, else it uses the flags given */ -/* leaves selection of base/object unaltered */ +/* leaves selection of base/object unaltered. + * note: don't call this within a loop since clear_* funcs loop over the entire database. */ Base *ED_object_add_duplicate(Main *bmain, Scene *scene, Base *base, int dupflag) { Base *basen; @@ -1646,6 +1647,10 @@ Base *ED_object_add_duplicate(Main *bmain, Scene *scene, Base *base, int dupflag ob= basen->object; + /* link own references to the newly duplicated data [#26816] */ + object_relink(ob); + set_sca_new_poins_ob(ob); + DAG_scene_sort(bmain, scene); ED_render_id_flush_update(bmain, ob->data);