Commit: 481a75a08ab601891d82cf8b113331dd205054bc Author: Brecht Van Lommel Date: Thu Jan 3 15:17:01 2019 +0100 Branches: master https://developer.blender.org/rB481a75a08ab601891d82cf8b113331dd205054bc
Fix T57177: redo select random operator selects hidden objects. =================================================================== M source/blender/blenkernel/intern/collection.c M source/blender/blenkernel/intern/layer.c M source/blender/blenloader/intern/readfile.c =================================================================== diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c index a3782deecad..bd7757a29c6 100644 --- a/source/blender/blenkernel/intern/collection.c +++ b/source/blender/blenkernel/intern/collection.c @@ -776,8 +776,9 @@ bool BKE_collection_is_in_scene(Collection *collection) void BKE_collections_after_lib_link(Main *bmain) { - /* Update view layer collections to match any changes in linked - * collections after file load. */ + /* Need to update layer collections because objects might have changed + * in linked files, and because undo push does not include updated base + * flags since those are refreshed after the operator completes. */ BKE_main_collection_sync(bmain); } diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index 572dba4d83b..28833383029 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -727,6 +727,7 @@ static short layer_collection_sync( } if (base->flag & BASE_HIDDEN) { + base->flag &= ~BASE_VISIBLE; view_layer->runtime_flag |= VIEW_LAYER_HAS_HIDE; lc->runtime_flag |= LAYER_COLLECTION_HAS_HIDDEN_OBJECTS; } diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 98d041a4673..dd3ce16f3f4 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -9067,9 +9067,10 @@ BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath) /* Do not apply in undo case! */ lib_verify_nodetree(bfd->main, true); /* Needed to ensure we have typeinfo in nodes... */ BKE_main_override_static_update(bfd->main); - BKE_collections_after_lib_link(bfd->main); } + BKE_collections_after_lib_link(bfd->main); + lib_verify_nodetree(bfd->main, true); fix_relpaths_library(fd->relabase, bfd->main); /* make all relative paths, relative to the open blend file */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs