Fixed T35128. Progress bar sync on Windows.

Apply for all windows instead of active, otherwise progress doesn't update.
This commit is contained in:
Alexandr Kuznetsov 2014-11-30 12:52:44 -05:00
parent b7d053beaa
commit 29c2b70a2c
Notes: blender-bot 2023-02-14 12:23:26 +01:00
Referenced by issue #35128, Win7: render progress in taskbar not synchronous across multiple windows
1 changed files with 15 additions and 10 deletions

View File

@ -628,17 +628,22 @@ void wm_jobs_timer(const bContext *C, wmWindowManager *wm, wmTimer *wt)
}
}
/* on file load 'winactive' can be NULL, possibly it should not happen but for now do a NULL check - campbell */
if (wm->winactive) {
/* if there are running jobs, set the global progress indicator */
if (jobs_progress > 0) {
float progress = total_progress / (float)jobs_progress;
WM_progress_set(wm->winactive, progress);
}
else {
WM_progress_clear(wm->winactive);
}
/* if there are running jobs, set the global progress indicator */
if (jobs_progress > 0) {
wmWindow *win;
float progress = total_progress / (float)jobs_progress;
for (win = wm->windows.first; win; win = win->next)
WM_progress_set(win, progress);
}
else {
wmWindow *win;
for (win = wm->windows.first; win; win = win->next)
WM_progress_clear(win);
}
}
bool WM_jobs_has_running(wmWindowManager *wm)