[Bf-blender-cvs] [db6d2a6] master: Fix for nested Cycles sessions.

Tamito Kajiyama noreply at git.blender.org
Tue Aug 12 03:16:49 CEST 2014


Commit: db6d2a6fe181fc3915366e9a821e666126b6a473
Author: Tamito Kajiyama
Date:   Fri Jun 27 14:56:21 2014 +0900
Branches: master
https://developer.blender.org/rBdb6d2a6fe181fc3915366e9a821e666126b6a473

Fix for nested Cycles sessions.

===================================================================

M	source/blender/render/intern/source/external_engine.c

===================================================================

diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c
index d253f4b..5399faf 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;
 }




More information about the Bf-blender-cvs mailing list