summaryrefslogtreecommitdiff
path: root/vcl/win/source
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/win/source')
-rw-r--r--vcl/win/source/window/salframe.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index 2428135518a8..5d5daab73a9c 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -2304,8 +2304,12 @@ static void ImplSalFrameEndExtTextInput( HWND hWnd, sal_uInt16 nFlags )
void WinSalFrame::EndExtTextInput( sal_uInt16 nFlags )
{
- // Must be called in the main thread!
- SendMessageW( mhWnd, SAL_MSG_ENDEXTTEXTINPUT, (WPARAM)nFlags, 0 );
+
+ SalData* pSalData = GetSalData();
+ if ( pSalData->mnAppThreadId != GetCurrentThreadId() )
+ ImplSalFrameEndExtTextInput( mhWnd, nFlags);
+ else
+ SendMessageW( mhWnd, SAL_MSG_ENDEXTTEXTINPUT, (WPARAM)nFlags, 0 );
}
static void ImplGetKeyNameText( LONG lParam, sal_Unicode* pBuf,