diff options
author | Andy Shaw <andy.shaw@qt.io> | 2019-10-18 12:28:13 +0200 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2019-10-30 08:14:22 +0000 |
commit | c6d07c54188a4da12796e565b7a2f524d2fe20ec (patch) | |
tree | 0e3d20d25cc34a18c93b2e388ed1aa7d61a5409a | |
parent | a4a5b4288e18a92ef59b97e1fa230419b5ee222e (diff) |
Only call ShowCaret if Windows 10 1709 or later is used
This amends cc873ec23a98ac32d10ac5fa569792fde2f6b2c8 which worked around
a problem that was showing up on earlier versions of Windows. This
extends the workaround up to Windows 10 1703 as the problem was still
occurring up to that version.
Fixes: QTBUG-79143
Change-Id: Ib7eace17fb8e3817c556e2bcd462e37834b1cbcf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
(cherry picked from commit be73bdc5d2491d036e5a6334dada453ed808dbc0)
-rw-r--r-- | src/plugins/platforms/windows/qwindowsinputcontext.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/platforms/windows/qwindowsinputcontext.cpp b/src/plugins/platforms/windows/qwindowsinputcontext.cpp index 61f971143d..c5eea32db5 100644 --- a/src/plugins/platforms/windows/qwindowsinputcontext.cpp +++ b/src/plugins/platforms/windows/qwindowsinputcontext.cpp @@ -280,13 +280,15 @@ void QWindowsInputContext::showInputPanel() // with Windows 10 if the Windows IME is (re)enabled _after_ the caret is shown. if (m_caretCreated) { cursorRectChanged(); - // We only call ShowCaret() on Windows 10 as in earlier versions the caret - // would actually be visible (QTBUG-74492) and the workaround for the - // Surface seems unnecessary there anyway. But leave it hidden for IME. - if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10) + // We only call ShowCaret() on Windows 10 after 1703 as in earlier versions + // the caret would actually be visible (QTBUG-74492) and the workaround for + // the Surface seems unnecessary there anyway. But leave it hidden for IME. + if (QOperatingSystemVersion::current() >= + QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10, 0, 16299)) { ShowCaret(platformWindow->handle()); - else + } else { HideCaret(platformWindow->handle()); + } setWindowsImeEnabled(platformWindow, false); setWindowsImeEnabled(platformWindow, true); } |