diff options
author | Falk David <falkdavid@gmx.de> | 2020-09-12 13:17:47 +0300 |
---|---|---|
committer | Falk David <falkdavid@gmx.de> | 2020-09-12 13:17:47 +0300 |
commit | c00523aca49d7e6d3aadf1e4a230ae8fb67044cc (patch) | |
tree | 5e5cb8fd566b75726241a20bf229f989e6f46367 /source/blender/blenkernel/intern/layer.c | |
parent | 8156e948042a464ca40ca78c946874340a8421f4 (diff) | |
parent | 269ceb666b01b8cddbfb5babddf38546a41eba39 (diff) |
Merge branch 'greasepencil-edit-curve' into soc-2020-greasepencil-curvesoc-2020-greasepencil-curve
Diffstat (limited to 'source/blender/blenkernel/intern/layer.c')
-rw-r--r-- | source/blender/blenkernel/intern/layer.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index 4da59ff302d..1ad34fde0fa 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -931,6 +931,8 @@ void BKE_main_collection_sync(const Main *bmain) for (const Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) { BKE_scene_collection_sync(scene); } + + BKE_layer_collection_local_sync_all(bmain); } void BKE_main_collection_sync_remap(const Main *bmain) @@ -1246,6 +1248,28 @@ void BKE_layer_collection_local_sync(ViewLayer *view_layer, const View3D *v3d) } /** + * Sync the local collection for all the view-ports. + */ +void BKE_layer_collection_local_sync_all(const Main *bmain) +{ + LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) { + LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) { + LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) { + LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) { + if (area->spacetype != SPACE_VIEW3D) { + continue; + } + View3D *v3d = area->spacedata.first; + if (v3d->flag & V3D_LOCAL_COLLECTIONS) { + BKE_layer_collection_local_sync(view_layer, v3d); + } + } + } + } + } +} + +/** * Isolate the collection locally * * Same as BKE_layer_collection_isolate_local but for a viewport |