[Bf-blender-cvs] [16cf5647c8b] temp-group-collections: Prevent crash on groups with no collections

Dalai Felinto noreply at git.blender.org
Wed Nov 1 18:15:18 CET 2017


Commit: 16cf5647c8bfa3d2b8e852f7ee56546cc5cbd35d
Author: Dalai Felinto
Date:   Wed Nov 1 13:02:00 2017 -0200
Branches: temp-group-collections
https://developer.blender.org/rB16cf5647c8bfa3d2b8e852f7ee56546cc5cbd35d

Prevent crash on groups with no collections

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

M	source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
M	source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
index f6c7e4e13cd..2555144f525 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc
@@ -85,7 +85,7 @@ void DepsgraphNodeBuilder::build_layer_collection(Scene *scene,
 		case COLLECTION_TYPE_GROUP:
 		{
 			Group *group = scene_collection->group;
-			if (group != NULL) {
+			if ((group != NULL) && !BLI_listbase_is_empty(&group->scene_layer->layer_collections)) {
 				build_group(scene, scene_collection->group, state);
 				/* Recurs into internal group layer collections. */
 				state->parent = layer_collection;
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
index 96021924623..687694f2da6 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc
@@ -89,7 +89,7 @@ void DepsgraphRelationBuilder::build_layer_collection(Main *bmain,
 		case COLLECTION_TYPE_GROUP:
 		{
 			Group *group = scene_collection->group;
-			if (group != NULL) {
+			if ((group != NULL) && !BLI_listbase_is_empty(&group->scene_layer->layer_collections)) {
 				build_group(bmain, scene, group, state);
 				/* Recurs into internal group layer collections. */
 				build_layer_collection(bmain,



More information about the Bf-blender-cvs mailing list