[Bf-blender-cvs] [29c2b70] master: Fixed T35128. Progress bar sync on Windows.

Alexandr Kuznetsov noreply at git.blender.org
Sun Nov 30 19:34:03 CET 2014


Commit: 29c2b70a2c30a0f06d2eb78a742cb9cf18f481df
Author: Alexandr Kuznetsov
Date:   Sun Nov 30 12:52:44 2014 -0500
Branches: master
https://developer.blender.org/rB29c2b70a2c30a0f06d2eb78a742cb9cf18f481df

Fixed T35128. Progress bar sync on Windows.

Apply for all windows instead of active, otherwise progress doesn't update.

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

M	source/blender/windowmanager/intern/wm_jobs.c

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

diff --git a/source/blender/windowmanager/intern/wm_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c
index 24d8ed0..6bc858e 100644
--- a/source/blender/windowmanager/intern/wm_jobs.c
+++ b/source/blender/windowmanager/intern/wm_jobs.c
@@ -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)




More information about the Bf-blender-cvs mailing list