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

This commit is contained in:
Campbell Barton 2013-11-27 19:20:02 +11:00
parent caf6bf80f7
commit 2123386c70
Notes: blender-bot 2023-02-14 20:13:09 +01:00
Referenced by issue blender/blender-addons#37249, Blender crashes at start when calling wm.progress_update(value) from load_post
Referenced by issue blender/blender-addons#37249, Blender crashes at start when calling wm.progress_update(value) from load_post
1 changed files with 10 additions and 4 deletions

View File

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