diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-04-07 12:23:00 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-04-07 12:23:00 +0400 |
commit | 24d6192f53b0bdc289dd4f24c0d6b5c3ea5e26af (patch) | |
tree | ba3f18b80e04ad3cbb847ee08844c7f7e01c60e9 /source/blender/editors/object/object_add.c | |
parent | 24b012c978b4e51f5ef8efa28c82a7bf24dc902f (diff) |
fix [#26816] P(separate) an object messes up logic brick links
Diffstat (limited to 'source/blender/editors/object/object_add.c')
-rw-r--r-- | source/blender/editors/object/object_add.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); |