[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29901] trunk/blender/source/blender/ windowmanager/intern/wm_operators.c: WM_operator_props_popup was calling ED_undo_push_op() which is also called by wm_operator_finished.

Campbell Barton ideasman42 at gmail.com
Sat Jul 3 14:55:03 CEST 2010


Revision: 29901
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29901
Author:   campbellbarton
Date:     2010-07-03 14:55:03 +0200 (Sat, 03 Jul 2010)

Log Message:
-----------
WM_operator_props_popup was calling ED_undo_push_op() which is also called by wm_operator_finished.
This made new image operator and seperate image sequence call ED_undo_push_op() twice.
Tested with move to layer and python select pattern operators and it works ok.

including backtraces for the double calls just incase.

# first
#2  0x00000000009ff4c4 in ED_undo_push_op (C=0x20e1098, op=0x3ea13a8) at /media/data/blender_ideasman42/blender_trunk/source/blender/editors/util/undo.c:187
#3  0x00000000008b5fa1 in WM_operator_props_popup (C=0x20e1098, op=0x3ea13a8, event=0x3ea0d28) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_operators.c:1032
#4  0x00000000008be6be in wm_operator_invoke (C=0x20e1098, ot=0x2408bd8, event=0x3ea0d28, properties=0x3e943d8, reports=0x0) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:613
#5  0x00000000008bfa44 in wm_handler_operator_call (C=0x20e1098, handlers=0x25509a0, handler=0x25cb658, event=0x3ea0d28, properties=0x3e943d8) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:1158

# second
#2  0x00000000009ff4c4 in ED_undo_push_op (C=0x20e1098, op=0x3ea13a8) at /media/data/blender_ideasman42/blender_trunk/source/blender/editors/util/undo.c:187
#3  0x00000000008bde8e in wm_operator_finished (C=0x20e1098, op=0x3ea13a8, repeat=0) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:439
#4  0x00000000008be82a in wm_operator_invoke (C=0x20e1098, ot=0x2408bd8, event=0x3ea0d28, properties=0x3e943d8, reports=0x0) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:640
#5  0x00000000008bfa44 in wm_handler_operator_call (C=0x20e1098, handlers=0x25509a0, handler=0x25cb658, event=0x3ea0d28, properties=0x3e943d8) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:1158

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2010-07-03 12:11:05 UTC (rev 29900)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2010-07-03 12:55:03 UTC (rev 29901)
@@ -1027,9 +1027,8 @@
 	
 	if(op->type->exec) {
 		retval= op->type->exec(C, op);
-		
-		if(op->type->flag & OPTYPE_UNDO)
-			ED_undo_push_op(C, op);
+
+		/* ED_undo_push_op(C, op), called by wm_operator_finished now. */
 	}
 
 	if(retval != OPERATOR_CANCELLED)





More information about the Bf-blender-cvs mailing list