[Bf-blender-cvs] [3ae872d9abb] master: Fix T64049: Unset space type crashes

Campbell Barton noreply at git.blender.org
Wed May 1 03:54:57 CEST 2019


Commit: 3ae872d9abb899fa1a3f581fe0064b6941758d50
Author: Campbell Barton
Date:   Wed May 1 11:48:39 2019 +1000
Branches: master
https://developer.blender.org/rB3ae872d9abb899fa1a3f581fe0064b6941758d50

Fix T64049: Unset space type crashes

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

M	source/blender/makesrna/intern/rna_screen.c

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

diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c
index 89996cf3241..3de946c1c8f 100644
--- a/source/blender/makesrna/intern/rna_screen.c
+++ b/source/blender/makesrna/intern/rna_screen.c
@@ -149,11 +149,16 @@ static void rna_Area_type_set(PointerRNA *ptr, int value)
 
 static void rna_Area_type_update(bContext *C, PointerRNA *ptr)
 {
-  wmWindowManager *wm = CTX_wm_manager(C);
-  wmWindow *win;
   bScreen *sc = (bScreen *)ptr->id.data;
   ScrArea *sa = (ScrArea *)ptr->data;
 
+  /* Running update without having called 'set', see: T64049 */
+  if (sa->butspacetype == SPACE_EMPTY) {
+    return;
+  }
+
+  wmWindowManager *wm = CTX_wm_manager(C);
+  wmWindow *win;
   /* XXX this call still use context, so we trick it to work in the right context */
   for (win = wm->windows.first; win; win = win->next) {
     if (sc == WM_window_get_active_screen(win)) {



More information about the Bf-blender-cvs mailing list