diff options
author | Richard Antalik <richardantalik@gmail.com> | 2020-05-13 01:10:58 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2020-05-13 01:10:58 +0300 |
commit | 50ef801a79b5c280ecd02f89e9a9b4533e4102c4 (patch) | |
tree | 4d7af249c2a0053e39f2fe68daac74ce93d7cf1d /source/blender/windowmanager | |
parent | be69f23b687ac0698fb95a28d007ee2e6b1b4eb5 (diff) |
Fix T76320: Thread race condition on undo with prefetching enabled
Stop prefetch jobs before undoing.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7633
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_jobs.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c index 245a8f28fec..c10f03f3dab 100644 --- a/source/blender/windowmanager/intern/wm_jobs.c +++ b/source/blender/windowmanager/intern/wm_jobs.c @@ -35,6 +35,7 @@ #include "BKE_context.h" #include "BKE_global.h" +#include "BKE_sequencer.h" #include "WM_api.h" #include "WM_types.h" @@ -558,6 +559,9 @@ void WM_jobs_kill_all(wmWindowManager *wm) while ((wm_job = wm->jobs.first)) { wm_jobs_kill_job(wm, wm_job); } + + /* This job will be automatically restarted */ + BKE_sequencer_prefetch_stop_all(); } /* wait until every job ended, except for one owner (used in undo to keep screen job alive) */ |