diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-09-22 12:21:29 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-09-22 14:26:43 +0000 |
commit | 78b2719b04f1177b5af0f52fce98316505f9000b (patch) | |
tree | a9acbf2b8cfb649abac05714a0e1cffbc54d1b7e /src/plugins/platforms/windows/qwindowsmousehandler.cpp | |
parent | 47ff3dcd087c1239e885439963f02bb8b53b19ed (diff) |
Windows: Add checks to usages of QWindow::screen().
Default to primary screen and handle situations where the screen
is null consistently. Remove unused QWindowsScreen::screenOf() method.
Task-number: QTBUG-48288
Change-Id: I91b3c2331521d9d3be8ac77606ee820cd35ebb0f
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsmousehandler.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/platforms/windows/qwindowsmousehandler.cpp b/src/plugins/platforms/windows/qwindowsmousehandler.cpp index 4ab861a960..90cb6fe195 100644 --- a/src/plugins/platforms/windows/qwindowsmousehandler.cpp +++ b/src/plugins/platforms/windows/qwindowsmousehandler.cpp @@ -477,7 +477,12 @@ bool QWindowsMouseHandler::translateTouchEvent(QWindow *window, HWND, typedef QList<QWindowSystemInterface::TouchPoint> QTouchPointList; Q_ASSERT(m_touchDevice); - const QRect screenGeometry = window->screen()->geometry(); + const QScreen *screen = window->screen(); + if (!screen) + screen = QGuiApplication::primaryScreen(); + if (!screen) + return true; + const QRect screenGeometry = screen->geometry(); const int winTouchPointCount = msg.wParam; QScopedArrayPointer<TOUCHINPUT> winTouchInputs(new TOUCHINPUT[winTouchPointCount]); @@ -569,7 +574,12 @@ bool QWindowsMouseHandler::translateGestureEvent(QWindow *window, HWND hwnd, if (gi.dwID != GID_DIRECTMANIPULATION) return true; static QPoint lastTouchPos; - const QRect screenGeometry = window->screen()->geometry(); + const QScreen *screen = window->screen(); + if (!screen) + screen = QGuiApplication::primaryScreen(); + if (!screen) + return true; + const QRect screenGeometry = screen->geometry(); QWindowSystemInterface::TouchPoint touchPoint; static QWindowSystemInterface::TouchPoint touchPoint2; touchPoint.id = 0;//gi.dwInstanceID; |