[Bf-blender-cvs] [ff4eac7] blender-v2.75-release: Flush stdout prior of calling render stats callback
Sergey Sharybin
noreply at git.blender.org
Thu Jun 18 17:37:41 CEST 2015
Commit: ff4eac74edfa379d210c42f5aaecbeeb54d6742e
Author: Sergey Sharybin
Date: Wed Jun 17 15:49:09 2015 +0200
Branches: blender-v2.75-release
https://developer.blender.org/rBff4eac74edfa379d210c42f5aaecbeeb54d6742e
Flush stdout prior of calling render stats callback
Without this extra flush order of stat prints is undefined in the
output. which makes it rather tricky to write custom output in a
reliable way.
===================================================================
M source/blender/render/intern/source/pipeline.c
===================================================================
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index cac4970..da16d2b 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -193,6 +193,9 @@ static void stats_background(void *UNUSED(arg), RenderStats *rs)
fprintf(stdout, IFACE_("Sce: %s Ve:%d Fa:%d La:%d"), rs->scene_name, rs->totvert, rs->totface, rs->totlamp);
}
+ /* Flush stdout to be sure python callbacks are printing stuff after blender. */
+ fflush(stdout);
+
BLI_callback_exec(G.main, NULL, BLI_CB_EVT_RENDER_STATS);
fputc('\n', stdout);
@@ -3436,7 +3439,10 @@ static int do_write_image_or_movie(Render *re, Main *bmain, Scene *scene, bMovie
BLI_timestr(re->i.lastframetime, name, sizeof(name));
printf(" Time: %s", name);
-
+
+ /* Flush stdout to be sure python callbacks are printing stuff after blender. */
+ fflush(stdout);
+
BLI_callback_exec(G.main, NULL, BLI_CB_EVT_RENDER_STATS);
BLI_timestr(re->i.lastframetime - render_time, name, sizeof(name));
More information about the Bf-blender-cvs
mailing list