From 462d2311384e71ab76f9d8d357d2bc1375490b13 Mon Sep 17 00:00:00 2001 From: Mark Hung Date: Mon, 11 Jul 2016 23:22:25 +0800 Subject: [PATCH] Fix SolarMutex not locked when using IME on dropdown list. Surround ImplHandleIMEQueryCharPosition() by ImplSalYieldMutexAcquireWithWait() and ImplSalYieldMutexRelease(). Change-Id: I3843ad351f3b92801cd1e0066a3c73f2a52c44bd Reviewed-on: https://gerrit.libreoffice.org/27117 Tested-by: Jenkins Reviewed-by: Mark Hung --- vcl/win/window/salframe.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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;