[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28101] trunk/blender/source/blender/ editors/render/render_internal.c: Attempted fix for [#21491] rendering from the api does not work

Matt Ebb matt at mke3.net
Fri Apr 9 06:57:51 CEST 2010


Revision: 28101
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28101
Author:   broken
Date:     2010-04-09 06:57:50 +0200 (Fri, 09 Apr 2010)

Log Message:
-----------
Attempted fix for [#21491] rendering from the api does not work

Render was hanging on to old callbacks from interactive wmJob render when used 
as a blocking render from py API.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_internal.c

Modified: trunk/blender/source/blender/editors/render/render_internal.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_internal.c	2010-04-09 01:44:24 UTC (rev 28100)
+++ trunk/blender/source/blender/editors/render/render_internal.c	2010-04-09 04:57:50 UTC (rev 28101)
@@ -385,6 +385,10 @@
 	BKE_report(reports, RPT_ERROR, str);
 }
 
+static void result_nothing(void *unused, RenderResult *rr) {}
+static void result_rcti_nothing(void *unused, RenderResult *rr, volatile struct rcti *rect) {}
+static void stats_nothing(void *unused, RenderStats *rs) {}
+
 /* executes blocking render */
 static int screen_render_exec(bContext *C, wmOperator *op)
 {
@@ -397,9 +401,17 @@
 	if(re==NULL) {
 		re= RE_NewRender(scene->id.name);
 	}
+	
+	G.afbreek= 0;
 	RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break);
 	RE_error_cb(re, op->reports, render_error_reports);
 
+	/* clear other callbacks that may have previosuly been used by interactive render */
+	RE_display_init_cb(re, NULL, result_nothing);
+	RE_display_clear_cb(re, NULL, result_nothing);
+	RE_display_draw_cb(re, NULL, result_rcti_nothing);
+	RE_stats_draw_cb(re, NULL, stats_nothing);
+
 	ima= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
 	BKE_image_signal(ima, NULL, IMA_SIGNAL_FREE);
 	BKE_image_backup_render(scene, ima);





More information about the Bf-blender-cvs mailing list