summaryrefslogtreecommitdiffstats
path: root/src/gui/inputmethod
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-06-10 13:04:51 (GMT)
committeraxis <qt-info@nokia.com>2009-06-10 13:07:24 (GMT)
commit8ce6f4b96623d03031c65f396b6789520f114edc (patch)
tree2695a94f7874c4c7ea7979098700e0fd0de6909e /src/gui/inputmethod
parent959ff46310b8a27c82ef6b0c1d122b817270f8d9 (diff)
downloadQt-8ce6f4b96623d03031c65f396b6789520f114edc.zip
Qt-8ce6f4b96623d03031c65f396b6789520f114edc.tar.gz
Qt-8ce6f4b96623d03031c65f396b6789520f114edc.tar.bz2
Fixed FEP crash during application exit.
We use a synchronous call rather than an asynchronous one, so we don't risk the pointer being dereferenced after destruction is finished.
Diffstat (limited to 'src/gui/inputmethod')
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 24abb58..b183e1b 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -88,10 +88,9 @@ 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.
- CCoeEnv::Static()->InputCapabilitiesChanged();
- QApplication::processEvents();
+ // The call below is essentially equivalent to InputCapabilitiesChanged(),
+ // but is synchronous, rather than asynchronous.
+ CCoeEnv::Static()->SyncNotifyFocusObserversOfChangeInFocus();
if (m_fepState)
delete m_fepState;