diff options
author | crupest <crupest@outlook.com> | 2020-10-28 18:45:27 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-10-28 18:45:27 +0800 |
commit | a09a9645d3c823e3559659dc1ddd213510755820 (patch) | |
tree | 1d20232346bcd3e5e37f52b3d935f1e42dea4a82 /src/win/native/InputMethod.cpp | |
parent | c1c5a185e4f4c4706e8a641f25add3885203f202 (diff) | |
download | cru-a09a9645d3c823e3559659dc1ddd213510755820.tar.gz cru-a09a9645d3c823e3559659dc1ddd213510755820.tar.bz2 cru-a09a9645d3c823e3559659dc1ddd213510755820.zip |
...
Diffstat (limited to 'src/win/native/InputMethod.cpp')
-rw-r--r-- | src/win/native/InputMethod.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/win/native/InputMethod.cpp b/src/win/native/InputMethod.cpp index 21681de2..7a46bef4 100644 --- a/src/win/native/InputMethod.cpp +++ b/src/win/native/InputMethod.cpp @@ -218,7 +218,11 @@ void WinInputMethodContext::SetCandidateWindowPosition(const Point& point) { ::CANDIDATEFORM form; form.dwIndex = 1; form.dwStyle = CFS_CANDIDATEPOS; - form.ptCurrentPos = DipToPi(point); + + auto window = + dynamic_cast<WinNativeWindow*>(this->native_window_resolver_->Resolve()); + form.ptCurrentPos = + window == nullptr ? POINT{0, 0} : window->DipToPixel(point); if (!::ImmSetCandidateWindow(himc.Get(), &form)) log::TagDebug(log_tag, |