From fc2dbc20ff5c9187310e8d51dca99c7be13b84b4 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 23 Sep 2013 19:35:21 +0000 Subject: Fix #36800: closing render window during render crashes, the operator would be cancelled before the job, causing invalid access to op->reports in the job thread. --- source/blender/windowmanager/intern/wm_jobs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to '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 188ad251b8a..c9c3d2df788 100644 --- a/source/blender/windowmanager/intern/wm_jobs.c +++ b/source/blender/windowmanager/intern/wm_jobs.c @@ -474,15 +474,16 @@ void WM_jobs_kill_all_except(wmWindowManager *wm, void *owner) } -void WM_jobs_kill_type(struct wmWindowManager *wm, int job_type) +void WM_jobs_kill_type(struct wmWindowManager *wm, void *owner, int job_type) { wmJob *wm_job, *next_job; for (wm_job = wm->jobs.first; wm_job; wm_job = next_job) { next_job = wm_job->next; - if (wm_job->job_type == job_type) - wm_jobs_kill_job(wm, wm_job); + if (!owner || wm_job->owner == owner) + if (wm_job->job_type == job_type) + wm_jobs_kill_job(wm, wm_job); } } -- cgit v1.2.3