[Bf-blender-cvs] [2123386] master: Fix T37249: Crash calling wm.progress_update() with no active window

Campbell Barton noreply at git.blender.org
Wed Nov 27 09:21:38 CET 2013


Commit: 2123386c70a740bc8177fb16011c0cf65dd8a2f3
Author: Campbell Barton
Date:   Wed Nov 27 19:20:02 2013 +1100
http://developer.blender.org/rB2123386c70a740bc8177fb16011c0cf65dd8a2f3

Fix T37249: Crash calling wm.progress_update() with no active window

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

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

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

diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c
index 91cddd2..923e7f9 100644
--- a/source/blender/makesrna/intern/rna_wm_api.c
+++ b/source/blender/makesrna/intern/rna_wm_api.c
@@ -135,16 +135,22 @@ static void rna_progress_update(struct wmWindowManager *wm, float value)
 {
 	if (wm_progress_state.is_valid) {
 		/* Map to cursor_time range [0,9999] */
-		int val = (int)(10000 * (value - wm_progress_state.min) / (wm_progress_state.max - wm_progress_state.min));
-		WM_cursor_time(wm->winactive, val);
+		wmWindow *win = wm->winactive;
+		if (win) {
+			int val = (int)(10000 * (value - wm_progress_state.min) / (wm_progress_state.max - wm_progress_state.min));
+			WM_cursor_time(win, val);
+		}
 	}
 }
 
 static void rna_progress_end(struct wmWindowManager *wm)
 {
 	if (wm_progress_state.is_valid) {
-		WM_cursor_modal_restore(wm->winactive);
-		wm_progress_state.is_valid = false;
+		wmWindow *win = wm->winactive;
+		if (win) {
+			WM_cursor_modal_restore(win);
+			wm_progress_state.is_valid = false;
+		}
 	}
 }




More information about the Bf-blender-cvs mailing list