ade103d7b8a76dcc178f02eb57eefc755d3ff47d
Stored `ComponentIDKey` and `OperationIDKey` would still use string references (char pointers) to data in related IDs, instead of using the already locally stored std::string name of their matching `ComponentNode` or `OperationNode` for that. During undo, to reduce updates and speedup undo steps, a lot of IDs get 'replaced in place', i.e. new data read from the undo memfile is moved into the existing 'old' ID memory address. And the depsgraph is also re-used from the old BMain. Calling `DEG_id_tag_update` and similar on the ID could then cause depsgraph code to access freed memory from the 'old' data. Joint effort with @sergey and the rest of the depsgraph team, thanks!
…
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.
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
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
