diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-08-15 14:31:52 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-08-15 14:31:52 +0400 |
commit | e2cffbe732fde055c0a3d619126dde0589c958b6 (patch) | |
tree | 7a679a673f83351881aa15abd8adaec1017c7448 /source | |
parent | 502dfcce5f91d3cdf8447986c30c52dff0e4f1f3 (diff) |
rendering now stops the composite job first, then renders.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/interface/interface_templates.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 9c35c1919a3..0c69a1888d0 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -2571,7 +2571,7 @@ static void do_running_jobs(bContext *C, void *UNUSED(arg), int event) WM_operator_name_call(C, "SCREEN_OT_animation_play", WM_OP_INVOKE_SCREEN, NULL); break; case B_STOPCOMPO: - WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL); + WM_jobs_stop(CTX_wm_manager(C), CTX_data_scene(C), NULL); break; case B_STOPSEQ: WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL); @@ -2596,12 +2596,7 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C) uiBlockSetHandleFunc(block, do_running_jobs, NULL); - if (sa->spacetype == SPACE_NODE) { - if (WM_jobs_test(wm, sa, WM_JOB_TYPE_ANY)) - owner = sa; - handle_event = B_STOPCOMPO; - } - else if (sa->spacetype == SPACE_SEQ) { + if (sa->spacetype == SPACE_SEQ) { if (WM_jobs_test(wm, sa, WM_JOB_TYPE_ANY)) owner = sa; handle_event = B_STOPSEQ; @@ -2614,11 +2609,17 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C) else { Scene *scene; /* another scene can be rendering too, for example via compositor */ - for (scene = CTX_data_main(C)->scene.first; scene; scene = scene->id.next) - if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER)) + for (scene = CTX_data_main(C)->scene.first; scene; scene = scene->id.next) { + if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER)) { + handle_event = B_STOPRENDER; break; + } + else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_COMPOSITE)) { + handle_event = B_STOPCOMPO; + break; + } + } owner = scene; - handle_event = B_STOPRENDER; } if (owner) { |