From 64905c4c77909c2a7f6cd1ea1e86a1b99da38c6a Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Wed, 12 Apr 2017 14:45:42 +0200 Subject: Outliner: Fix objects of master collection not showing up in 'Master Collection Tree' --- source/blender/editors/space_outliner/outliner_tree.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'source/blender/editors/space_outliner/outliner_tree.c') diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c index a14df17c088..bb70a08e32d 100644 --- a/source/blender/editors/space_outliner/outliner_tree.c +++ b/source/blender/editors/space_outliner/outliner_tree.c @@ -1427,6 +1427,15 @@ static bool outliner_scene_collections_reorder_poll( return true; } +static void outliner_add_scene_collection_objects( + SpaceOops *soops, ListBase *tree, SceneCollection *collection, TreeElement *parent) +{ + for (LinkData *link = collection->objects.first; link; link = link->next) { + outliner_add_element(soops, tree, link->data, parent, 0, 0); + } + outliner_make_hierarchy(tree); +} + static void outliner_add_scene_collections_recursive( SpaceOops *soops, ListBase *tree, ListBase *scene_collections, TreeElement *parent_ten) { @@ -1438,17 +1447,14 @@ static void outliner_add_scene_collections_recursive( ten->reinsert = outliner_scene_collections_reorder; ten->reinsert_poll = outliner_scene_collections_reorder_poll; - for (LinkData *link = collection->objects.first; link; link = link->next) { - outliner_add_element(soops, &ten->subtree, link->data, ten, 0, 0); - } - outliner_make_hierarchy(&ten->subtree); - + outliner_add_scene_collection_objects(soops, &ten->subtree, collection, ten); outliner_add_scene_collections_recursive(soops, &ten->subtree, &collection->scene_collections, ten); } } static void outliner_add_collections_master(SpaceOops *soops, Scene *scene) { SceneCollection *master = BKE_collection_master(scene); + outliner_add_scene_collection_objects(soops, &soops->tree, master, NULL); outliner_add_scene_collections_recursive(soops, &soops->tree, &master->scene_collections, NULL); } -- cgit v1.2.3