0251db1447
The viewport compositor crashes when the scene is changed in some situations. That's because the viewport compositor tries to use node tree data that was freed in the last depsgraph update, while it should have invalidate those references based on the same depsgraph update. The source of this issue is in the depsgraph itself. In particular, when the depsgraph evaluation happens in two passes, the ID recalculate flags are backed up for every pass then restored at the end of all passes, however, this doesn't happen for the ID Type Update table. So whenever evaluations happen in two passes, changes will not be propagated to engines that require those information, like the viewport compositor engine in that particular case. To fix this, we backup and restore the ID Type Update table in a similar manner to the ID recalculate flags. Fixes #107235, #124335, #116142. Pull Request: https://projects.blender.org/blender/blender/pulls/124409