From 1fd189619149c6d3489a35e42c4034d4145237dc Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Tue, 29 Sep 2009 12:42:09 +0200 Subject: 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 --- src/gui/kernel/qapplication_s60.cpp | 1 + 1 file changed, 1 insertion(+) 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: { -- cgit v0.12