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

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

Reply via email to