diff options
author | Jason Barron <jbarron@trolltech.com> | 2009-09-29 10:42:09 (GMT) |
---|---|---|
committer | Jason Barron <jbarron@trolltech.com> | 2009-09-29 12:58:37 (GMT) |
commit | 1fd189619149c6d3489a35e42c4034d4145237dc (patch) | |
tree | 4ff7329f3bff0abff65e203a17bb096b78e3461e /src/gui/kernel/qapplication_s60.cpp | |
parent | 51a556f7e65f3e9c3c011f309f62a819eec07727 (diff) | |
download | Qt-1fd189619149c6d3489a35e42c4034d4145237dc.zip Qt-1fd189619149c6d3489a35e42c4034d4145237dc.tar.gz Qt-1fd189619149c6d3489a35e42c4034d4145237dc.tar.bz2 |
Fix bug with posting events from HandleCommandL on Symbian.
Increase the loop level counter here because this is a system event
entry point. Previously, posting a deferred delete event from this
function (or triggering an action that posted this event) would end up
with the event not being processed on time. The reason is that these
events are only processed when the event loop that posted the event
returns. Since the loop counter was not previously incremented, this
"nested loop" was not detected so the event would only be processed
when the main event loop returned which is typically at the end of the
application.
Reviewed-by: axis
Diffstat (limited to 'src/gui/kernel/qapplication_s60.cpp')
-rw-r--r-- | src/gui/kernel/qapplication_s60.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 99d188e..0650f6c 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1457,6 +1457,7 @@ bool QApplication::s60EventFilter(TWsEvent * /* aEvent */) */ void QApplication::symbianHandleCommand(int command) { + QScopedLoopLevelCounter counter(d_func()->threadData); switch (command) { #ifdef Q_WS_S60 case EAknSoftkeyExit: { |