From 1aa093ce9c426f047949448594acb79f65a8ee74 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Tue, 30 Apr 2019 16:12:50 -0300 Subject: Fix T63343: Duplicated object is hidden whereas it should not We were mixing ob->flag and ob->base_flag. We shouldn't be using ob->flag & SELECT in 2.8x. --- source/blender/blenkernel/intern/scene.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 895c21ba9f1..e0bf62402d2 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -1751,18 +1751,20 @@ void BKE_scene_base_flag_to_objects(ViewLayer *view_layer) } } +/** + * Synchronize object base flags + * + * This is usually handled by the depsgraph. + * However, in rare occasions we need to use the latest object flags + * before depsgraph is fully updated. + * + * It should (ideally) only run for copy-on-written objects since this is + * runtime data generated per-viewlayer. + */ void BKE_scene_object_base_flag_sync_from_base(Base *base) { Object *ob = base->object; - - ob->flag = base->flag; - - if ((base->flag & BASE_SELECTED) != 0) { - ob->flag |= SELECT; - } - else { - ob->flag &= ~SELECT; - } + ob->base_flag = base->flag; } void BKE_scene_disable_color_management(Scene *scene) -- cgit v1.2.3