diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2017-04-12 15:45:42 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2017-04-12 15:45:42 +0300 |
commit | 64905c4c77909c2a7f6cd1ea1e86a1b99da38c6a (patch) | |
tree | c55a15e6a4d1ccc21f4674bb04ba6905ef146810 /source/blender/editors/space_outliner | |
parent | af2fc7b6373ae582168a254c36bc808d8478dd03 (diff) |
Outliner: Fix objects of master collection not showing up in 'Master Collection Tree'
Diffstat (limited to 'source/blender/editors/space_outliner')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_tree.c | 16 |
1 files changed, 11 insertions, 5 deletions
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); } |