From d4d03f736b85f9db0d738428cf9521b2084232db Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 11 Mar 2021 13:28:06 +0100 Subject: [PATCH] Fix (unreported): crash on undo when using pinned id in spreadsheet Now the behavior is the same as in the properties editor, as far as I can tell. --- release/scripts/startup/bl_operators/spreadsheet.py | 2 +- source/blender/blenloader/intern/readfile.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/release/scripts/startup/bl_operators/spreadsheet.py b/release/scripts/startup/bl_operators/spreadsheet.py index a2f9b2ad412..fa6568f6f11 100644 --- a/release/scripts/startup/bl_operators/spreadsheet.py +++ b/release/scripts/startup/bl_operators/spreadsheet.py @@ -24,7 +24,7 @@ class SPREADSHEET_OT_toggle_pin(bpy.types.Operator): '''Turn on or off pinning''' bl_idname = "spreadsheet.toggle_pin" bl_label = "Toggle Pin" - bl_options = {'REGISTER', 'UNDO'} + bl_options = {'REGISTER'} @classmethod def poll(cls, context): diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index de7353d827a..302abf35f1c 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2985,6 +2985,12 @@ static void lib_link_workspace_layout_restore(struct IDNameLib_Map *id_map, sclip->scopes.ok = 0; } + else if (sl->spacetype == SPACE_SPREADSHEET) { + SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl; + + sspreadsheet->pinned_id = restore_pointer_by_name( + id_map, sspreadsheet->pinned_id, USER_IGNORE); + } } } }