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:
authorDalai Felinto <dfelinto@gmail.com>2019-06-03 19:10:35 +0300
committerDalai Felinto <dfelinto@gmail.com>2019-06-03 19:11:29 +0300
commitc39a8657be6d1096154222b87358dde8a8054ff1 (patch)
tree11f02b85730f29fe44f799f0f605afa500322cb0 /source/blender/blenkernel/intern/layer.c
parentde0cae29cf75133ec0afc82f4b21de281992ede0 (diff)
Fix T65448 - Outliner - Show all inside in disabled collection crash
Diffstat (limited to 'source/blender/blenkernel/intern/layer.c')
-rw-r--r--source/blender/blenkernel/intern/layer.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 60c00160e6d..e520701dd25 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1073,9 +1073,11 @@ bool BKE_layer_collection_isolate(Scene *scene,
static void layer_collection_bases_show_recursive(ViewLayer *view_layer, LayerCollection *lc)
{
- for (CollectionObject *cob = lc->collection->gobject.first; cob; cob = cob->next) {
- Base *base = BKE_view_layer_base_find(view_layer, cob->ob);
- base->flag &= ~BASE_HIDDEN;
+ if ((lc->flag & LAYER_COLLECTION_EXCLUDE) == 0) {
+ for (CollectionObject *cob = lc->collection->gobject.first; cob; cob = cob->next) {
+ Base *base = BKE_view_layer_base_find(view_layer, cob->ob);
+ base->flag &= ~BASE_HIDDEN;
+ }
}
for (LayerCollection *lc_iter = lc->layer_collections.first; lc_iter; lc_iter = lc_iter->next) {
layer_collection_bases_show_recursive(view_layer, lc_iter);
@@ -1084,9 +1086,11 @@ static void layer_collection_bases_show_recursive(ViewLayer *view_layer, LayerCo
static void layer_collection_bases_hide_recursive(ViewLayer *view_layer, LayerCollection *lc)
{
- for (CollectionObject *cob = lc->collection->gobject.first; cob; cob = cob->next) {
- Base *base = BKE_view_layer_base_find(view_layer, cob->ob);
- base->flag |= BASE_HIDDEN;
+ if ((lc->flag & LAYER_COLLECTION_EXCLUDE) == 0) {
+ for (CollectionObject *cob = lc->collection->gobject.first; cob; cob = cob->next) {
+ Base *base = BKE_view_layer_base_find(view_layer, cob->ob);
+ base->flag |= BASE_HIDDEN;
+ }
}
for (LayerCollection *lc_iter = lc->layer_collections.first; lc_iter; lc_iter = lc_iter->next) {
layer_collection_bases_hide_recursive(view_layer, lc_iter);