summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/winrt/qwinrtscreen.cpp
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@digia.com>2013-10-06 15:37:33 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-11 12:23:15 +0200
commitdf25dfef46b1174e6f545e681be3f0ef1541fd75 (patch)
tree16923da54b6391b7e68c5d0c0eca1348b0ed3057 /src/plugins/platforms/winrt/qwinrtscreen.cpp
parente31be2964e9b06baa887b600d7bda2e8b8ff82a4 (diff)
WinRT QPA: Fix touch release on phone
The IsInContact API is not reliable on phone, so use IsLeftButtonPressed instead. Change-Id: If17089f976586879355f127dadbe394b57afe3c3 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/plugins/platforms/winrt/qwinrtscreen.cpp')
-rw-r--r--src/plugins/platforms/winrt/qwinrtscreen.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp
index 93c2736238..59182ca183 100644
--- a/src/plugins/platforms/winrt/qwinrtscreen.cpp
+++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp
@@ -866,7 +866,11 @@ HRESULT QWinRTScreen::onPointerUpdated(ICoreWindow *window, IPointerEventArgs *a
QHash<quint32, QWindowSystemInterface::TouchPoint>::iterator it = m_touchPoints.find(id);
if (it != m_touchPoints.end()) {
boolean isPressed;
+#ifndef Q_OS_WINPHONE
pointerPoint->get_IsInContact(&isPressed);
+#else
+ properties->get_IsLeftButtonPressed(&isPressed); // IsInContact not reliable on phone
+#endif
it.value().state = isPressed ? Qt::TouchPointMoved : Qt::TouchPointReleased;
} else {
it = m_touchPoints.insert(id, QWindowSystemInterface::TouchPoint());