6295bdfd38d3a4be8ee34ea6648473b4bbddf504
The crash happened because the geometry nodes modifier is evaluated before the node tree has been preprocessed. While there was a transitive but non-flushing relation between these two depsgraph nodes. However the relation between the modifier and the `ntree_output` depsgraph node was ignored, because it had `DEPSOP_FLAG_NEEDS_UPDATE` *not* set (which is actually correct, because not all node tree changes change its output). Because this relation is ignored (e.g. in `calculate_pending_parents_for_node`) the transitive relation is ignored as well. The solution in this patch is to explicitly add this transitive non-flushing relation to make sure the modifier only runs after the node tree has been preprocessed, even when the node tree output has not changed. An alternative fix could be to handle all links always but skip the execution of depsgraph nodes that are not needed. This way all links are always taken into account. This solution would require some deeper changes though and would be much more risky. Also fixes T102402.
…
.. Keep this document short & concise, linking to external resources instead of including content in-line. See 'release/text/readme.html' for the end user read-me. 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. .. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg :scale: 50 % :align: center Project Pages ------------- - `Main Website <http://www.blender.org>`__ - `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__ - `User Community <https://www.blender.org/community/>`__ Development ----------- - `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__ - `Code Review & Bug Tracker <https://developer.blender.org>`__ - `Developer Forum <https://devtalk.blender.org>`__ - `Developer Documentation <https://wiki.blender.org>`__ 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 <https://www.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%