vcl/win/window/salframe.cxx | 4 ++++
1 file changed, 4 insertions(+)
New commits:
commit 08a3854ba355c511a8098b64a8346dda614ea630
Author: Jonathan Clark <[email protected]>
AuthorDate: Tue May 27 05:25:50 2025 -0600
Commit: Jonathan Clark <[email protected]>
CommitDate: Tue May 27 14:41:24 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 <[email protected]>
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index d4db5180ec33..fc1ce601db46 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -5302,6 +5302,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();