[Bf-blender-cvs] [c39a8657be6] master: Fix T65448 - Outliner - Show all inside in disabled collection crash

Dalai Felinto noreply at git.blender.org
Mon Jun 3 18:13:23 CEST 2019


Commit: c39a8657be6d1096154222b87358dde8a8054ff1
Author: Dalai Felinto
Date:   Mon Jun 3 13:10:35 2019 -0300
Branches: master
https://developer.blender.org/rBc39a8657be6d1096154222b87358dde8a8054ff1

Fix T65448 - Outliner - Show all inside in disabled collection crash

===================================================================

M	source/blender/blenkernel/intern/layer.c

===================================================================

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);



More information about the Bf-blender-cvs mailing list