Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-10-07 17:05:51 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-10-07 17:05:51 +0300
commit33297db9de8f9313ed6975bd3645c45093e7c0e6 (patch)
treec0590025470ae2df125a13410f5a0e1582c128e9 /source/blender/editors/render/render_opengl.c
parent90f5e61b72550bfe1e371626e99d3342214ce7ff (diff)
OpenGL: Do not schedule new frames for write if error happens
Also do not attempt to write any already scheduled frames.
Diffstat (limited to 'source/blender/editors/render/render_opengl.c')
-rw-r--r--source/blender/editors/render/render_opengl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index db0ffb90344..3737c32a140 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -841,6 +841,11 @@ static void write_result_func(TaskPool * __restrict pool,
const bool is_movie = BKE_imtype_is_movie(scene->r.im_format.imtype);
const int cfra = task_data->cfra;
bool ok;
+ /* Don't attempt to write if we've got an error. */
+ if (!oglrender->pool_ok) {
+ RE_FreeRenderResult(rr);
+ return;
+ }
/* Construct local thread0safe copy of reports structure which we can
* safely pass to the underlying functions.
*/
@@ -907,6 +912,7 @@ static void write_result_func(TaskPool * __restrict pool,
static bool schedule_write_result(OGLRender *oglrender, RenderResult *rr)
{
if (!oglrender->pool_ok) {
+ RE_FreeRenderResult(rr);
return false;
}
Scene *scene = oglrender->scene;