summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-09-29 10:42:09 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-09-29 12:58:37 (GMT)
commit1fd189619149c6d3489a35e42c4034d4145237dc (patch)
tree4ff7329f3bff0abff65e203a17bb096b78e3461e
parent51a556f7e65f3e9c3c011f309f62a819eec07727 (diff)
downloadQt-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
-rw-r--r--src/gui/kernel/qapplication_s60.cpp1
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: {