diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-11-23 11:54:04 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-11-23 11:54:04 +0400 |
commit | d35565c2e740f1c8d50dff2b27f4e9b512ecd9f6 (patch) | |
tree | 570b2f9082d694dac59e3bc8f01074d4da1b8a09 /source/blender/windowmanager | |
parent | f22fb939d3cc87c62ee0b3668911e5402cc7cc6b (diff) |
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.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_jobs.c | 6 |
1 files changed, 4 insertions, 2 deletions
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); } |