diff options
author | Dan Gudmundsson <[email protected]> | 2016-04-15 10:19:59 +0200 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2016-04-22 09:14:00 +0200 |
commit | 7604209d02278b5547ae42fb328bfbc7d9043963 (patch) | |
tree | 7a71240377cd142b9395d27cafa9e951f06fd9a1 /lib/wx/api_gen/wx_extra | |
parent | 9bff4dbbaf44ff563b3d67c65061f5f0a7d7f944 (diff) | |
download | otp-7604209d02278b5547ae42fb328bfbc7d9043963.tar.gz otp-7604209d02278b5547ae42fb328bfbc7d9043963.tar.bz2 otp-7604209d02278b5547ae42fb328bfbc7d9043963.zip |
wx: Fix callback problems
Commands could be executed twice, if the command was dispatched
from a callback and caused a recursive invocation of command loop.
Solution is to mark op as -1 before calling wxWidgets.
Also commands could be missed when idle processing was done inside
while executing a recursive callback, solved be always resetting peak
index after idle processing is done.
Diffstat (limited to 'lib/wx/api_gen/wx_extra')
-rw-r--r-- | lib/wx/api_gen/wx_extra/wxEvtHandler.c_src | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src b/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src index 08fef1c2ff..b9cb4f08cc 100644 --- a/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src +++ b/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src @@ -43,7 +43,7 @@ case 101: { // wxEvtHandler::Disconnect int eventType = wxeEventTypeFromAtom(bp); bp += *eventTypeLen; if(eventType > 0) { if(recurse_level > 1) { - delayed_delete->Append(Ecmd.Save()); + delayed_delete->Append(Ecmd.Save(op)); } else { bool Result = This->Disconnect((int) *winid,(int) *lastId,eventType, (wxObjectEventFunction)(wxEventFunction) |