From d35565c2e740f1c8d50dff2b27f4e9b512ecd9f6 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 23 Nov 2012 07:54:04 +0000 Subject: Fix #33270: Opening file browser crashes when sequencer preview is visible Crash only happens if thumbnails are enabled and crash was caused by removing jobs while iterating them. --- source/blender/windowmanager/intern/wm_jobs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/blender/windowmanager') diff --git a/source/blender/windowmanager/intern/wm_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c index f5c83d48cb9..7481c01d72b 100644 --- a/source/blender/windowmanager/intern/wm_jobs.c +++ b/source/blender/windowmanager/intern/wm_jobs.c @@ -405,9 +405,11 @@ void WM_jobs_kill_all(wmWindowManager *wm) /* wait until every job ended, except for one owner (used in undo to keep screen job alive) */ void WM_jobs_kill_all_except(wmWindowManager *wm, void *owner) { - wmJob *wm_job; + wmJob *wm_job, *next_job; - for (wm_job = wm->jobs.first; wm_job; wm_job = wm_job->next) { + for (wm_job = wm->jobs.first; wm_job; wm_job = next_job) { + next_job = wm_job->next; + if (wm_job->owner != owner) wm_jobs_kill_job(wm, wm_job); } -- cgit v1.2.3