From 9cbf43801ba21b0b4aad0aaccf681ebc7e29cc04 Mon Sep 17 00:00:00 2001 From: Nathan Craddock Date: Thu, 23 Jul 2020 12:40:33 -0600 Subject: 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. --- source/blender/editors/space_outliner/outliner_tools.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3