[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17845] branches/blender2.5/blender/source /blender/editors/interface/interface_handlers.c:
Brecht Van Lommel
brecht at blender.org
Sun Dec 14 14:38:25 CET 2008
Revision: 17845
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17845
Author: blendix
Date: 2008-12-14 14:38:24 +0100 (Sun, 14 Dec 2008)
Log Message:
-----------
UI: fix for delayed UI callback functions, to avoid it being
called recursively.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c 2008-12-14 13:24:22 UTC (rev 17844)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c 2008-12-14 13:38:24 UTC (rev 17845)
@@ -189,8 +189,13 @@
static void ui_apply_but_funcs_after(bContext *C)
{
uiAfterFunc *after;
+ ListBase funcs;
- for(after=UIAfterFuncs.first; after; after=after->next) {
+ /* copy to avoid recursive calls */
+ funcs= UIAfterFuncs;
+ UIAfterFuncs.first= UIAfterFuncs.last= NULL;
+
+ for(after=funcs.first; after; after=after->next) {
if(after->func)
after->func(C, after->func_arg1, after->func_arg2);
@@ -200,7 +205,7 @@
after->butm_func(C, after->butm_func_arg, after->a2);
}
- BLI_freelistN(&UIAfterFuncs);
+ BLI_freelistN(&funcs);
}
static void ui_apply_but_BUT(bContext *C, uiBut *but, uiHandleButtonData *data)
More information about the Bf-blender-cvs
mailing list