diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index 084705cd2b35..0f341f74b422 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -5857,7 +5857,13 @@ LRESULT CALLBACK SalFrameWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lP } else if ( (sal_uIntPtr)( wParam ) == IMR_QUERYCHARPOSITION ) { - nRet = ImplHandleIMEQueryCharPosition( hWnd, lParam ); + if ( ImplSalYieldMutexTryToAcquire() ) + { + nRet = ImplHandleIMEQueryCharPosition( hWnd, lParam ); + ImplSalYieldMutexRelease(); + } + else + nRet = FALSE; rDef = FALSE; } break;