From 75cc33fa20457695d33e90886e8802c28fd96c2a Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 22 Feb 2017 13:06:24 +0100 Subject: Fix Cycles still saving render output when error happened This was fixed ages ago for the interface case but not for the command line. The thing here is that currently external engines are relying on reports system to indicate that error happened so suppressing reports storage in the background mode prevented render pipeline from detecting errors happened. This is all weak and i don't like it, but this is better than delivering black frames from the farm. --- source/creator/creator_args.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c index 27579e58dba..77ca055dcea 100644 --- a/source/creator/creator_args.c +++ b/source/creator/creator_args.c @@ -1364,7 +1364,7 @@ static int arg_handle_render_frame(int argc, const char **argv, void *data) re = RE_NewRender(scene->id.name); BLI_begin_threaded_malloc(); - BKE_reports_init(&reports, RPT_PRINT); + BKE_reports_init(&reports, RPT_STORE); RE_SetReports(re, &reports); for (int i = 0; i < frames_range_len; i++) { @@ -1379,6 +1379,7 @@ static int arg_handle_render_frame(int argc, const char **argv, void *data) } } RE_SetReports(re, NULL); + BKE_reports_clear(&reports); BLI_end_threaded_malloc(); MEM_freeN(frame_range_arr); return 1; -- cgit v1.2.3