diff options
author | Nathan Craddock <nzcraddock@gmail.com> | 2020-07-23 21:40:33 +0300 |
---|---|---|
committer | Nathan Craddock <nzcraddock@gmail.com> | 2020-07-23 21:40:33 +0300 |
commit | 9cbf43801ba21b0b4aad0aaccf681ebc7e29cc04 (patch) | |
tree | 09de28789d12817387313ec5bfeb296b9c71baf0 /source | |
parent | 954aa441bf3790b2f18357d9ae58a9fc7583c395 (diff) |
Fix T79187: Outliner "Make Single User" crash
When "ID Data" -> "Make Single User" is chosen with selected elements
that are not curves, there is a crash. This fix ensures that the id in the
callback function is an Action.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_tools.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c index 7515178e1d1..dae2ba32f09 100644 --- a/source/blender/editors/space_outliner/outliner_tools.c +++ b/source/blender/editors/space_outliner/outliner_tools.c @@ -867,11 +867,17 @@ static void id_select_linked_cb(bContext *C, static void singleuser_action_cb(bContext *C, ReportList *UNUSED(reports), Scene *UNUSED(scene), - TreeElement *UNUSED(te), + TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem, void *UNUSED(user_data)) { + /* This callback runs for all selected elements, some of which may not be actions which results + * in a crash. */ + if (te->idcode != ID_AC) { + return; + } + ID *id = tselem->id; if (id) { |