[Bf-blender-cvs] [ccd2af43b3a] master: Fix T78624: Crash running operators from Python in background mode

Campbell Barton noreply at git.blender.org
Sun Jul 19 11:01:26 CEST 2020


Commit: ccd2af43b3ab83dc873010faade1b2916553291a
Author: Campbell Barton
Date:   Sun Jul 19 18:59:14 2020 +1000
Branches: master
https://developer.blender.org/rBccd2af43b3ab83dc873010faade1b2916553291a

Fix T78624: Crash running operators from Python in background mode

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

M	source/blender/editors/undo/ed_undo.c

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

diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c
index 43341eadb97..50e0bb1f1c2 100644
--- a/source/blender/editors/undo/ed_undo.c
+++ b/source/blender/editors/undo/ed_undo.c
@@ -98,6 +98,14 @@ void ED_undo_push(bContext *C, const char *str)
   if (steps <= 0) {
     return;
   }
+  if (G.background) {
+    /* Python developers may have explicitly created the undo stack in background mode,
+     * otherwise allow it to be NULL, see: T60934.
+     * Otherwise it must never be NULL, even when undo is disabled. */
+    if (wm->undo_stack == NULL) {
+      return;
+    }
+  }
 
   /* Only apply limit if this is the last undo step. */
   if (wm->undo_stack->step_active && (wm->undo_stack->step_active->next == NULL)) {



More information about the Bf-blender-cvs mailing list