Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Craddock <nzcraddock@gmail.com>2020-07-23 21:40:33 +0300
committerNathan Craddock <nzcraddock@gmail.com>2020-07-23 21:40:33 +0300
commit9cbf43801ba21b0b4aad0aaccf681ebc7e29cc04 (patch)
tree09de28789d12817387313ec5bfeb296b9c71baf0
parent954aa441bf3790b2f18357d9ae58a9fc7583c395 (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.
-rw-r--r--source/blender/editors/space_outliner/outliner_tools.c8
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) {