Revision: 35681
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35681
Author: campbellbarton
Date: 2011-03-22 02:38:39 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
operators called from python were not getting their reports back into python
errors.
eg:
- console calls operator
- operator calls report
- report went into header rather them back into the console as an error.
Modified Paths:
--------------
trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
trunk/blender/source/blender/python/intern/bpy_operator.c
trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
2011-03-22 01:40:22 UTC (rev 35680)
+++ trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
2011-03-22 02:38:39 UTC (rev 35681)
@@ -85,7 +85,8 @@
enum ReportListFlags {
RPT_PRINT = 1,
RPT_STORE = 2,
- RPT_FREE = 4
+ RPT_FREE = 4,
+ RPT_OP_HOLD = 8 /* dont move them into the operator global list (caller
will use) */
};
#
#
Modified: trunk/blender/source/blender/python/intern/bpy_operator.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator.c 2011-03-22
01:40:22 UTC (rev 35680)
+++ trunk/blender/source/blender/python/intern/bpy_operator.c 2011-03-22
02:38:39 UTC (rev 35681)
@@ -195,7 +195,7 @@
ReportList *reports;
reports= MEM_mallocN(sizeof(ReportList),
"wmOperatorReportList");
- BKE_reports_init(reports, RPT_STORE);
+ BKE_reports_init(reports, RPT_STORE | RPT_OP_HOLD); /*
own so these dont move into global reports */
operator_ret= WM_operator_call_py(C, ot, context, &ptr,
reports);
Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
2011-03-22 01:40:22 UTC (rev 35680)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
2011-03-22 02:38:39 UTC (rev 35681)
@@ -453,7 +453,8 @@
}
}
- if (op->reports->list.first) {
+ /* if the caller owns them them handle this */
+ if (op->reports->list.first && (op->reports->flag & RPT_OP_HOLD) == 0) {
wmWindowManager *wm = CTX_wm_manager(C);
ReportList *wm_reports= CTX_wm_reports(C);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs