Commit: d4d03f736b85f9db0d738428cf9521b2084232db
Author: Jacques Lucke
Date:   Thu Mar 11 13:28:06 2021 +0100
Branches: master
https://developer.blender.org/rBd4d03f736b85f9db0d738428cf9521b2084232db

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.

===================================================================

M       release/scripts/startup/bl_operators/spreadsheet.py
M       source/blender/blenloader/intern/readfile.c

===================================================================

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);
+        }
       }
     }
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to