Fixed T35128. Progress bar sync on Windows.
Apply for all windows instead of active, otherwise progress doesn't update.
This commit is contained in:
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
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue