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:
authorClément Foucault <foucault.clem@gmail.com>2020-02-22 19:08:37 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-02-22 19:08:44 +0300
commitc26f470cfeea628bf7911dcd663a67e0f8052391 (patch)
tree16452917bc457be9ed423f7dc0218e400d0a0a9a /source/blender/draw/engines/eevee/eevee_render.c
parent189a6c783d918329e5219e60c2ed9a4a8f413380 (diff)
EEVEE: Fix memleak when G.is_break is set from another thread
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_render.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_render.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_render.c b/source/blender/draw/engines/eevee/eevee_render.c
index 9b20f006387..3a5d9e96b80 100644
--- a/source/blender/draw/engines/eevee/eevee_render.c
+++ b/source/blender/draw/engines/eevee/eevee_render.c
@@ -46,7 +46,8 @@
#include "eevee_private.h"
-void EEVEE_render_init(EEVEE_Data *ved, RenderEngine *engine, struct Depsgraph *depsgraph)
+/* Return true if init properly. */
+bool EEVEE_render_init(EEVEE_Data *ved, RenderEngine *engine, struct Depsgraph *depsgraph)
{
EEVEE_Data *vedata = (EEVEE_Data *)ved;
EEVEE_StorageList *stl = vedata->stl;
@@ -106,7 +107,7 @@ void EEVEE_render_init(EEVEE_Data *ved, RenderEngine *engine, struct Depsgraph *
max_dim);
RE_engine_set_error_message(engine, error_msg);
G.is_break = true;
- return;
+ return false;
}
/* XXX overriding viewport size. Simplify things but is not really 100% safe. */
@@ -168,6 +169,8 @@ void EEVEE_render_init(EEVEE_Data *ved, RenderEngine *engine, struct Depsgraph *
EEVEE_subsurface_cache_init(sldata, vedata);
EEVEE_temporal_sampling_cache_init(sldata, vedata);
EEVEE_volumes_cache_init(sldata, vedata);
+
+ return true;
}
/* Used by light cache. in this case engine is NULL. */