aboutsummaryrefslogtreecommitdiff
path: root/src/win/native/InputMethod.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-28 18:45:27 +0800
committercrupest <crupest@outlook.com>2020-10-28 18:45:27 +0800
commita09a9645d3c823e3559659dc1ddd213510755820 (patch)
tree1d20232346bcd3e5e37f52b3d935f1e42dea4a82 /src/win/native/InputMethod.cpp
parentc1c5a185e4f4c4706e8a641f25add3885203f202 (diff)
downloadcru-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.cpp6
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,