[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24832] trunk/blender/source/blender/ python/intern/bpy_util.c: workaround for an error with BKE_reportf ( actually BLI_dynstr_vappendf)
Campbell Barton
ideasman42 at gmail.com
Mon Nov 23 18:36:44 CET 2009
Revision: 24832
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24832
Author: campbellbarton
Date: 2009-11-23 18:36:44 +0100 (Mon, 23 Nov 2009)
Log Message:
-----------
workaround for an error with BKE_reportf (actually BLI_dynstr_vappendf)
fixes a crash that happens when formatting a python exception into a report. - for now use pythons string formatting function.
happens when running the simple operator template so not sure if its worth re-tagging :S
Modified Paths:
--------------
trunk/blender/source/blender/python/intern/bpy_util.c
Modified: trunk/blender/source/blender/python/intern/bpy_util.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_util.c 2009-11-23 17:27:00 UTC (rev 24831)
+++ trunk/blender/source/blender/python/intern/bpy_util.c 2009-11-23 17:36:44 UTC (rev 24832)
@@ -416,6 +416,7 @@
int BPy_errors_to_report(ReportList *reports)
{
PyObject *pystring;
+ PyObject *pystring_format= NULL; // workaround, see below
char *cstring;
char *filename;
@@ -439,14 +440,23 @@
}
BPY_getFileAndNum(&filename, &lineno);
+ if(filename==NULL)
+ filename= "<unknown location>";
cstring= _PyUnicode_AsString(pystring);
-
+
+#if 0 // ARG!. workaround for a bug in blenders use of vsnprintf
BKE_reportf(reports, RPT_ERROR, "%s\nlocation:%s:%d\n", cstring, filename, lineno);
+#else
+ pystring_format= PyUnicode_FromFormat("%s\nlocation:%s:%d\n", cstring, filename, lineno);
+ cstring= _PyUnicode_AsString(pystring_format);
+ BKE_report(reports, RPT_ERROR, cstring);
+#endif
fprintf(stderr, "%s\nlocation:%s:%d\n", cstring, filename, lineno); // not exactly needed. just for testing
Py_DECREF(pystring);
+ Py_DECREF(pystring_format); // workaround
return 1;
}
More information about the Bf-blender-cvs
mailing list