[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28306] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: Fix case of accessing freed windowmanager memory after reading a file.
Brecht Van Lommel
brecht at blender.org
Tue Apr 20 16:58:46 CEST 2010
Revision: 28306
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28306
Author: blendix
Date: 2010-04-20 16:58:46 +0200 (Tue, 20 Apr 2010)
Log Message:
-----------
Fix case of accessing freed windowmanager memory after reading a file.
Modified Paths:
--------------
trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2010-04-20 11:24:49 UTC (rev 28305)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2010-04-20 14:58:46 UTC (rev 28306)
@@ -420,7 +420,7 @@
retval= op->type->exec(C, op);
- if(op->type->flag & OPTYPE_UNDO)
+ if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
}
@@ -570,7 +570,7 @@
retval= op->type->invoke(C, op, event);
- if(op->type->flag & OPTYPE_UNDO)
+ if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
}
else if(op->type->exec) {
@@ -579,7 +579,7 @@
retval= op->type->exec(C, op);
- if(op->type->flag & OPTYPE_UNDO)
+ if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
}
else
@@ -782,7 +782,7 @@
retval= op->type->exec(C, op);
- if(op->type->flag & OPTYPE_UNDO)
+ if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
}
else
@@ -1072,7 +1072,7 @@
retval= ot->modal(C, op, event);
- if(ot->flag & OPTYPE_UNDO)
+ if(ot->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
/* putting back screen context, reval can pass trough after modal failures! */
@@ -1217,7 +1217,7 @@
retval= handler->op->type->exec(C, handler->op);
- if(handler->op->type->flag & OPTYPE_UNDO)
+ if(handler->op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
if (retval & OPERATOR_FINISHED)
More information about the Bf-blender-cvs
mailing list