From ba105741867dd96a9d58dcfcb78afef60e611bd6 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Wed, 3 Jun 2009 09:06:54 +0300 Subject: Fix to qapplication::setActiveWindow autotest case in Symbian. In case the application is closing, we should not call process events since event dispatcher is already deleted. Calling processEvents caused application to oanic with KERN-EXEC 3 i.e. access violation. --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 8612e55..e3427ec 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -13,6 +13,7 @@ #include "qcoefepinputcontext_p.h" #include +#include #include #include @@ -59,9 +60,12 @@ QCoeFepInputContext::~QCoeFepInputContext() // This is to make sure that the FEP manager "forgets" about us, // otherwise we may get callbacks even after we're destroyed. // The call is asynchronous though, so we must spin the event loop - // to make sure it gets detected. + // to make sure it gets detected. However we will not spin eventloop + // in case that app is closing, since eventDispatcher is already deleted. CCoeEnv::Static()->InputCapabilitiesChanged(); - QApplication::processEvents(); + if(!QApplicationPrivate::is_app_closing) { + QApplication::processEvents(); + } if (m_fepState) delete m_fepState; -- cgit v0.12