[Bf-blender-cvs] [481a75a08ab] master: Fix T57177: redo select random operator selects hidden objects.
Brecht Van Lommel
noreply at git.blender.org
Thu Jan 3 15:20:10 CET 2019
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 */
More information about the Bf-blender-cvs
mailing list