Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-04-07 12:23:00 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-04-07 12:23:00 +0400
commit24d6192f53b0bdc289dd4f24c0d6b5c3ea5e26af (patch)
treeba3f18b80e04ad3cbb847ee08844c7f7e01c60e9 /source/blender/editors/object/object_add.c
parent24b012c978b4e51f5ef8efa28c82a7bf24dc902f (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.c7
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);