From 69c582a3d401e7a143a26d8d66597f003bffbda0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 14 Jan 2011 21:45:49 +0000 Subject: error in last commit, also skip getting vars for wm_operator_reports() when there are no reports. --- source/blender/windowmanager/intern/wm_event_system.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'source/blender/windowmanager') diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 7d5cdb8a10c..be6700f2ea1 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -423,10 +423,6 @@ static void wm_operator_print(bContext *C, wmOperator *op) static void wm_operator_reports(bContext *C, wmOperator *op, int retval, int popup) { - wmWindowManager *wm = CTX_wm_manager(C); - ReportList *reports = CTX_wm_reports(C); - char *buf; - if(popup) if(op->reports->list.first) uiPupMenuReports(C, op->reports); @@ -437,26 +433,29 @@ static void wm_operator_reports(bContext *C, wmOperator *op, int retval, int pop if (op->type->flag & OPTYPE_REGISTER) { /* Report the python string representation of the operator */ - buf = WM_operator_pystring(C, op->type, op->ptr, 1); + char *buf = WM_operator_pystring(C, op->type, op->ptr, 1); BKE_report(CTX_wm_reports(C), RPT_OPERATOR, buf); MEM_freeN(buf); } } if (op->reports->list.first) { + + wmWindowManager *wm = CTX_wm_manager(C); + ReportList *wm_reports= CTX_wm_reports(C); ReportTimerInfo *rti; - + /* add reports to the global list, otherwise they are not seen */ - BLI_movelisttolist(&CTX_wm_reports(C)->list, &op->reports->list); + BLI_movelisttolist(&wm_reports->list, &op->reports->list); /* After adding reports to the global list, reset the report timer. */ - WM_event_remove_timer(wm, NULL, reports->reporttimer); + WM_event_remove_timer(wm, NULL, wm_reports->reporttimer); /* Records time since last report was added */ - reports->reporttimer= WM_event_add_timer(wm, CTX_wm_window(C), TIMER, 0.05); + wm_reports->reporttimer= WM_event_add_timer(wm, CTX_wm_window(C), TIMER, 0.05); rti = MEM_callocN(sizeof(ReportTimerInfo), "ReportTimerInfo"); - reports->reporttimer->customdata = rti; + wm_reports->reporttimer->customdata = rti; } } -- cgit v1.2.3