[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23255] trunk/blender/source/blender: Completely move freeing flag to report, operator flag is uneeded.

Martin Poirier theeth at yahoo.com
Tue Sep 15 18:25:53 CEST 2009


Revision: 23255
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23255
Author:   theeth
Date:     2009-09-15 18:25:53 +0200 (Tue, 15 Sep 2009)

Log Message:
-----------
Completely move freeing flag to report, operator flag is uneeded.

Also bugfix for py operators. Reports need to be kept alive when operator is registered.

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
    trunk/blender/source/blender/windowmanager/intern/wm.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	2009-09-15 16:05:59 UTC (rev 23254)
+++ trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h	2009-09-15 16:25:53 UTC (rev 23255)
@@ -298,7 +298,6 @@
 #define OPERATOR_PASS_THROUGH	8
 
 /* wmOperator flag */
-#define OPERATOR_REPORT_FREE	1
 
 
 /* ************** wmEvent ************************ */

Modified: trunk/blender/source/blender/windowmanager/intern/wm.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm.c	2009-09-15 16:05:59 UTC (rev 23254)
+++ trunk/blender/source/blender/windowmanager/intern/wm.c	2009-09-15 16:25:53 UTC (rev 23255)
@@ -69,7 +69,7 @@
 		MEM_freeN(op->properties);
 	}
 
-	if(op->reports && ((op->flag & OPERATOR_REPORT_FREE) || (op->reports->flag & RPT_FREE))) {
+	if(op->reports && (op->reports->flag & RPT_FREE)) {
 		BKE_reports_clear(op->reports);
 		MEM_freeN(op->reports);
 	}

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-09-15 16:05:59 UTC (rev 23254)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-09-15 16:25:53 UTC (rev 23255)
@@ -349,8 +349,7 @@
 	}
 	else {
 		op->reports= MEM_mallocN(sizeof(ReportList), "wmOperatorReportList");
-		BKE_reports_init(op->reports, RPT_STORE);
-		op->flag |= OPERATOR_REPORT_FREE;
+		BKE_reports_init(op->reports, RPT_STORE|RPT_FREE);
 	}
 	
 	/* recursive filling of operator macro list */
@@ -555,7 +554,8 @@
 
 	retval= wm_operator_call_internal(C, ot, context, properties, reports);
 	
-	if (retval & OPERATOR_RUNNING_MODAL)
+	/* keep the reports around if needed later */
+	if (retval & OPERATOR_RUNNING_MODAL || ot->flag & OPTYPE_REGISTER)
 	{
 		reports->flag |= RPT_FREE;
 	}





More information about the Bf-blender-cvs mailing list