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

Reply via email to