vcl/win/window/salframe.cxx | 4 ++++ 1 file changed, 4 insertions(+) New commits: commit f4bba60e7fff74126eed6b3557cdcc39ef5a8273 Author: Jonathan Clark <jonat...@libreoffice.org> AuthorDate: Tue May 27 05:25:50 2025 -0600 Commit: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> CommitDate: Fri Jun 27 13:03:42 2025 +0200
tdf#155158 vcl: Fix IME composition not ending on end comp message This change updates our Windows IME integration to gracefully handle the case where the IME sends a WM_IME_ENDCOMPOSITION message to terminate composition without sending a final WM_IME_COMPOSITION message. Change-Id: I97f8cacaec318d613f42cdc668f13841d9ff23eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185901 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonat...@libreoffice.org> (cherry picked from commit 08a3854ba355c511a8098b64a8346dda614ea630) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185920 Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index a73b764ee84a..74c3305aded3 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -5591,6 +5591,10 @@ static bool ImplHandleIMEEndComposition( HWND hWnd ) pFrame->mbCandidateMode = false; bDef = false; } + + // tdf#155158: Windows IMEs do not necessarily send a composition message if they are + // dismissed during composition (for example, by an input method/language change). + pFrame->CallCallback(SalEvent::EndExtTextInput, nullptr); } ImplSalYieldMutexRelease();