From 2fd3b9ad846621c8d3002fa561bd3fd6a972b8af Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 12 Jul 2015 22:16:54 +1000 Subject: PyAPI: Use separate writes for operator reports This allows us to temp override the stdout and extract individual reports --- source/blender/python/intern/bpy_operator.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'source/blender/python') diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c index 8309938b632..fc17173a5d4 100644 --- a/source/blender/python/intern/bpy_operator.c +++ b/source/blender/python/intern/bpy_operator.c @@ -36,6 +36,7 @@ #include "RNA_types.h" #include "BLI_utildefines.h" +#include "BLI_listbase.h" #include "BLI_string.h" #include "BPY_extern.h" @@ -251,12 +252,10 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args) error_val = BPy_reports_to_error(reports, PyExc_RuntimeError, false); /* operator output is nice to have in the terminal/console too */ - if (reports->list.first) { - char *report_str = BKE_reports_string(reports, 0); /* all reports */ - - if (report_str) { - PySys_WriteStdout("%s\n", report_str); - MEM_freeN(report_str); + if (!BLI_listbase_is_empty(&reports->list)) { + Report *report; + for (report = reports->list.first; report; report = report->next) { + PySys_WriteStdout("%s: %s\n", report->typestr, report->message); } } -- cgit v1.2.3