[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44830] trunk/blender/source/blender: Fix #30512: external render saved render result after reporting error.

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Mar 12 12:32:24 CET 2012


Revision: 44830
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44830
Author:   blendix
Date:     2012-03-12 11:32:23 +0000 (Mon, 12 Mar 2012)
Log Message:
-----------
Fix #30512: external render saved render result after reporting error.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_report.h
    trunk/blender/source/blender/blenkernel/intern/report.c
    trunk/blender/source/blender/render/intern/source/external_engine.c

Modified: trunk/blender/source/blender/blenkernel/BKE_report.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_report.h	2012-03-12 11:27:59 UTC (rev 44829)
+++ trunk/blender/source/blender/blenkernel/BKE_report.h	2012-03-12 11:32:23 UTC (rev 44830)
@@ -66,6 +66,8 @@
 void BKE_reports_print(ReportList *reports, ReportType level);
 
 Report *BKE_reports_last_displayable(ReportList *reports);
+
+int BKE_reports_contain(ReportList *reports, ReportType level);
 	
 #ifdef __cplusplus
 }

Modified: trunk/blender/source/blender/blenkernel/intern/report.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/report.c	2012-03-12 11:27:59 UTC (rev 44829)
+++ trunk/blender/source/blender/blenkernel/intern/report.c	2012-03-12 11:32:23 UTC (rev 44830)
@@ -37,7 +37,6 @@
 #include "BKE_report.h"
 #include "BKE_global.h" /* G.background only */
 
-
 #include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
@@ -264,12 +263,24 @@
 
 Report *BKE_reports_last_displayable(ReportList *reports)
 {
-	Report *report=NULL;
+	Report *report;
 	
-	for (report= (Report *)reports->list.last; report; report=report->prev) {
+	for (report= reports->list.last; report; report=report->prev) {
 		if (ELEM3(report->type, RPT_ERROR, RPT_WARNING, RPT_INFO))
 			return report;
 	}
 	
 	return NULL;
 }
+
+int BKE_reports_contain(ReportList *reports, ReportType level)
+{
+	Report *report;
+
+	for(report=reports->list.first; report; report=report->next)
+		if(report->type >= level)
+			return TRUE;
+	
+	return FALSE;
+}
+

Modified: trunk/blender/source/blender/render/intern/source/external_engine.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/external_engine.c	2012-03-12 11:27:59 UTC (rev 44829)
+++ trunk/blender/source/blender/render/intern/source/external_engine.c	2012-03-12 11:32:23 UTC (rev 44830)
@@ -42,6 +42,7 @@
 #include "BLI_string.h"
 #include "BLI_utildefines.h"
 
+#include "BKE_global.h"
 #include "BKE_report.h"
 #include "BKE_scene.h"
 
@@ -323,6 +324,9 @@
 
 	RE_engine_free(engine);
 
+	if(BKE_reports_contain(re->reports, RPT_ERROR))
+		G.afbreek = 1;
+	
 	return 1;
 }
 




More information about the Bf-blender-cvs mailing list