diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-06-27 09:56:21 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-08-12 05:10:09 +0400 |
commit | db6d2a6fe181fc3915366e9a821e666126b6a473 (patch) | |
tree | 83d12ff991fe9d9381f0bc840b86fa9b01ed9a52 /source/blender/render/intern/source/external_engine.c | |
parent | b272b729ce4c5d389c453b143c3220fce26e2cbc (diff) |
Fix for nested Cycles sessions.
Diffstat (limited to 'source/blender/render/intern/source/external_engine.c')
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index d253f4b5d05..5399faf3639 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -152,6 +152,7 @@ RenderEngine *RE_engine_create_ex(RenderEngineType *type, bool use_for_viewport) void RE_engine_free(RenderEngine *engine) { + printf("%s: engine %s\n", __func__, (engine->type) ? engine->type->idname : "<unknown>"); #ifdef WITH_PYTHON if (engine->py_instance) { BPY_DECREF_RNA_INVALIDATE(engine->py_instance); @@ -647,11 +648,6 @@ int RE_engine_render(Render *re, int do_all) if (type->render) type->render(engine, re->scene); -#ifdef WITH_FREESTYLE - if (re->r.mode & R_EDGE_FRS) - RE_RenderFreestyleExternal(re); -#endif - engine->tile_x = 0; engine->tile_y = 0; engine->flag &= ~RE_ENGINE_RENDERING; @@ -659,6 +655,7 @@ int RE_engine_render(Render *re, int do_all) render_result_free_list(&engine->fullresult, engine->fullresult.first); /* re->engine becomes zero if user changed active render engine during render */ + printf("%s: persistent_data = %s\n", __func__, persistent_data ? "true" : "false"); if (!persistent_data || !re->engine) { RE_engine_free(engine); re->engine = NULL; @@ -681,6 +678,11 @@ int RE_engine_render(Render *re, int do_all) if (BKE_reports_contain(re->reports, RPT_ERROR)) G.is_break = true; +#ifdef WITH_FREESTYLE + if (re->r.mode & R_EDGE_FRS) + RE_RenderFreestyleExternal(re); +#endif + return 1; } |