diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-10-10 13:51:01 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-10-10 13:51:01 +0300 |
commit | 54dad5c49fb7f1bd6de0731756e2fadb863ed1b8 (patch) | |
tree | d8a9c907cb96fb6da51d408eb119c806fbdeff07 /source | |
parent | 109192b3601ddfa8ec44ab2fd276298ac690a9a2 (diff) |
OpenGL render: Fix missing file output after pressing Esc
Apparently, the whole G.is_break is not used by OpenGL render, meaning
this flag will not be clear before running the operator. This was
causing missing file output after pressing Esc once for the rest of
Blender session.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/render/render_opengl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c index f5bc079e06b..d9edff4a706 100644 --- a/source/blender/editors/render/render_opengl.c +++ b/source/blender/editors/render/render_opengl.c @@ -737,6 +737,8 @@ static void screen_opengl_render_end(bContext *C, OGLRender *oglrender) int i; if (oglrender->is_animation) { + /* Flag pool for cancel. */ + oglrender->pool_ok = false; BLI_task_pool_work_and_wait(oglrender->task_pool); BLI_task_pool_free(oglrender->task_pool); BLI_task_scheduler_free(oglrender->task_scheduler); @@ -860,7 +862,7 @@ static void write_result_func(TaskPool * __restrict pool, const int cfra = task_data->cfra; bool ok; /* Don't attempt to write if we've got an error. */ - if (!oglrender->pool_ok || G.is_break) { + if (!oglrender->pool_ok) { RE_FreeRenderResult(rr); BLI_mutex_lock(&oglrender->task_mutex); oglrender->num_scheduled_frames--; |