Bastien Montagne a165a324b8 Fix ViewLayer resync wrongly assuming success in some cases.
`BKE_view_layer_synced_ensure` would report success and clear the 'out
of sync' flag of the viewlayer, even if the call to `BKE_layer_collection_sync`
could not actually perform the resync (e.g. because resync is forbidden
by one or more calls to `BKE_layer_collection_resync_forbid`).

While logically fairly bad, this issue did not seem to have any
practical consequences. So would rather not  backport this to the 5.0 beta
branch.

This fix also reveals at least one place where the usage of
`BKE_view_layer_synced_ensure` and related is muddy and not ideal: the
Scene's `foreach_id' code. This is patched as best as possible in this
commit, but is something that will have to be properly fixed at some
point most likely.

Also add some documentation to this API - although the whole thing needs
a real reafctor at some point still, name-wise and organization-wise.

Pull Request: https://projects.blender.org/blender/blender/pulls/147635
2025-10-08 17:16:23 +02:00
2025-10-08 11:44:58 +02:00
2025-10-02 18:34:11 +02:00
2025-10-08 16:39:47 +02:00
2023-12-08 13:28:13 +11:00
2025-10-08 12:04:50 +02:00
2025-07-10 12:48:33 +10:00

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.

See blender.org/about/license for details.

Description
No description provided
Readme 841 MiB
Languages
C++ 78%
Python 14.9%
C 2.9%
GLSL 1.9%
CMake 1.2%
Other 0.9%