This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender
Bastien Montagne f271d85b86 Fix T44439: outliner's treestore could keep invalid ID pointers, could crash on undo due to invalid mem access.
We cannot nuke treestore in readfile's `blo_lib_link_screen_restore()`, because this will
destroy all UI-state data (like opened/closed items, etc.).

Since we cannot know for sure whether an ID pointer from tselem->id is valid here, we
have to ensure they are never invalid, i.e. to always set them to NULL when we delete them.

To do so, this commit uses a similar approach as what already exists for ID references
in WM notifiers - it extends `free_notifier_reference_cb()` to also nullify those IDs in
all outliners.

Note that some ID types are not used(shown) by outliner currently, so `TREESTORE_ID_TYPE` macro
was added, that checks whether an ID is possibly used by outliner. Avoids a few searches
in whole tree whene deleting some IDs.

Reviewers: campbellbarton, sergey

Maniphest Tasks: T44439

Differential Revision: https://developer.blender.org/D1272
2015-04-30 14:28:22 +02:00
..
2014-10-29 14:15:21 +01:00
2015-04-21 01:50:20 +10:00
2015-04-30 08:18:23 +10:00
2015-04-29 23:59:48 +10:00
2015-04-30 08:18:32 +10:00
2015-01-29 15:35:06 +11:00
2015-04-30 08:18:23 +10:00
2015-04-14 10:34:32 +10:00
2015-04-30 09:55:54 +10:00
2015-04-06 10:40:12 -03:00
2015-01-20 09:30:02 +01:00