summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2014-12-16 20:48:30 +0200
committerTor Lillqvist <tml@collabora.com>2014-12-18 14:07:16 +0200
commit87561f10ba76de6d5453ed906ce24a052df72f18 (patch)
tree806b5fc227e30c37e6cc1175f9ab97787e084713
parent84a7fa47a548e95892797e9f61d96ae051123121 (diff)
Better (?) fix for deadlock in a situation with an IME and a URP client
This reverts commit 3e5371aba3eb29efb9574881212cba0975c168d7. Change-Id: I9e02a3d72f66a1eabb1f25d95417c855459556cc
-rw-r--r--vcl/source/window/winproc.cxx4
-rw-r--r--vcl/win/source/window/salframe.cxx8
2 files changed, 5 insertions, 7 deletions
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 661426a7faa4..662b11588635 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -1745,8 +1745,10 @@ IMPL_LINK_NOARG(vcl::Window, ImplAsyncFocusHdl)
}
// TrackingMode is ended in ImplHandleLoseFocus
+#ifdef _WIN32
// To avoid problems with the Unix IME
- // pFocusWin->EndExtTextInput( EXTTEXTINPUT_END_COMPLETE );
+ pFocusWin->EndExtTextInput( EXTTEXTINPUT_END_COMPLETE );
+#endif
// XXX #102010# hack for accessibility: do not close the menu,
// even after focus lost
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index 9bddbfc8b207..f2a8fc64f2d3 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -2294,12 +2294,8 @@ static void ImplSalFrameEndExtTextInput( HWND hWnd, sal_uInt16 nFlags )
void WinSalFrame::EndExtTextInput( sal_uInt16 nFlags )
{
-
- SalData* pSalData = GetSalData();
- if ( pSalData->mnAppThreadId != GetCurrentThreadId() )
- ImplSalFrameEndExtTextInput( mhWnd, nFlags);
- else
- SendMessageW( mhWnd, SAL_MSG_ENDEXTTEXTINPUT, (WPARAM)nFlags, 0 );
+ // Must be called in the main thread!
+ SendMessageW( mhWnd, SAL_MSG_ENDEXTTEXTINPUT, (WPARAM)nFlags, 0 );
}
static void ImplGetKeyNameText( LONG lParam, sal_Unicode* pBuf,