summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-11-18 09:01:51 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-11-18 09:01:51 +0100
commitc7934f2489e2eb9a539206bab35f335b1943c5bd (patch)
treea27d0ed6c001fe9432e2a0f28fb935acf9e4c65f /src/plugins/platforms/windows
parentf40593b11199fbef886bfcb6b210a214d8c3adf3 (diff)
parent08f9a1bd6ab9b1777ee5ba163d75e5c848c39eb4 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts: src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/network/kernel/qnetworkinterface_winrt.cpp tools/configure/configureapp.cpp Change-Id: I47df00a01597d2e63b334b492b3b4221b29f58ea
Diffstat (limited to 'src/plugins/platforms/windows')
-rw-r--r--src/plugins/platforms/windows/openglblacklists/default.json2
-rw-r--r--src/plugins/platforms/windows/qwindowsclipboard.cpp3
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.cpp3
-rw-r--r--src/plugins/platforms/windows/qwindowseglcontext.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp201
-rw-r--r--src/plugins/platforms/windows/qwindowsguieventdispatcher.h60
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp34
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.h4
-rw-r--r--src/plugins/platforms/windows/qwindowskeymapper.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.h2
-rw-r--r--src/plugins/platforms/windows/windows.pri2
11 files changed, 33 insertions, 282 deletions
diff --git a/src/plugins/platforms/windows/openglblacklists/default.json b/src/plugins/platforms/windows/openglblacklists/default.json
index 5d8bd56a1e..a5d42719a9 100644
--- a/src/plugins/platforms/windows/openglblacklists/default.json
+++ b/src/plugins/platforms/windows/openglblacklists/default.json
@@ -47,7 +47,7 @@
"id": 4,
"description": "Intel HD Graphics 3000 crashes when initializing the OpenGL driver (QTBUG-42240)",
"vendor_id": "0x8086",
- "device_id": [ "0x0102", "0x0116" ],
+ "device_id": [ "0x0102", "0x0106", "0x010A", "0x0112", "0x0116", "0x0122", "0x0126" ],
"os": {
"type": "win"
},
diff --git a/src/plugins/platforms/windows/qwindowsclipboard.cpp b/src/plugins/platforms/windows/qwindowsclipboard.cpp
index 8936b96b1f..25cfd12b44 100644
--- a/src/plugins/platforms/windows/qwindowsclipboard.cpp
+++ b/src/plugins/platforms/windows/qwindowsclipboard.cpp
@@ -35,7 +35,6 @@
#include "qwindowscontext.h"
#include "qwindowsole.h"
#include "qwindowsmime.h"
-#include "qwindowsguieventdispatcher.h"
#include <QtGui/QGuiApplication>
#include <QtGui/QClipboard>
@@ -48,6 +47,8 @@
#include <QtCore/QVariant>
#include <QtCore/QUrl>
+#include <QtPlatformSupport/private/qwindowsguieventdispatcher_p.h>
+
QT_BEGIN_NAMESPACE
static const char formatTextPlainC[] = "text/plain";
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp
index 02accfae01..5cda6379de 100644
--- a/src/plugins/platforms/windows/qwindowscontext.cpp
+++ b/src/plugins/platforms/windows/qwindowscontext.cpp
@@ -36,7 +36,6 @@
#include "qwindowsintegration.h"
#include "qwindowswindow.h"
#include "qwindowskeymapper.h"
-#include "qwindowsguieventdispatcher.h"
#include "qwindowsmousehandler.h"
#include "qtwindowsglobal.h"
#include "qwindowsmime.h"
@@ -66,6 +65,8 @@
#include <QtCore/QScopedArrayPointer>
#include <QtCore/private/qsystemlibrary_p.h>
+#include <QtPlatformSupport/private/qwindowsguieventdispatcher_p.h>
+
#include <stdlib.h>
#include <stdio.h>
#include <windowsx.h>
diff --git a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp
index 02073f5098..21eba6da7e 100644
--- a/src/plugins/platforms/windows/qwindowseglcontext.cpp
+++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp b/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp
deleted file mode 100644
index 0bfa0239aa..0000000000
--- a/src/plugins/platforms/windows/qwindowsguieventdispatcher.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Samuel Gaist <samuel.gaist@edeltech.ch>
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qwindowsguieventdispatcher.h"
-#include "qwindowscontext.h"
-
-#include <qpa/qwindowsysteminterface.h>
-
-#include <QtCore/QCoreApplication>
-#include <QtCore/QStack>
-#include <QtCore/QDebug>
-
-#include <windowsx.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QWindowsGuiEventDispatcher
- \brief Event dispatcher for Windows
-
- Maintains a global stack storing the current event dispatcher and
- its processing flags for access from the Windows procedure
- qWindowsWndProc. Handling the Lighthouse gui events should be done
- from within the qWindowsWndProc to ensure correct processing of messages.
-
- \internal
- \ingroup qt-lighthouse-win
-*/
-
-QWindowsGuiEventDispatcher::QWindowsGuiEventDispatcher(QObject *parent) :
- QEventDispatcherWin32(parent), m_flags(0)
-{
- setObjectName(QStringLiteral("QWindowsGuiEventDispatcher"));
- createInternalHwnd(); // QTBUG-40881: Do not delay registering timers, etc. for QtMfc.
-}
-
-bool QWindowsGuiEventDispatcher::processEvents(QEventLoop::ProcessEventsFlags flags)
-{
- const QEventLoop::ProcessEventsFlags oldFlags = m_flags;
- m_flags = flags;
- if (QWindowsContext::verbose > 2 && lcQpaEvents().isDebugEnabled())
- qCDebug(lcQpaEvents) << '>' << __FUNCTION__ << objectName() << flags;
- const bool rc = QEventDispatcherWin32::processEvents(flags);
- if (QWindowsContext::verbose > 2 && lcQpaEvents().isDebugEnabled())
- qCDebug(lcQpaEvents) << '<' << __FUNCTION__ << "returns" << rc;
- m_flags = oldFlags;
- return rc;
-}
-
-void QWindowsGuiEventDispatcher::sendPostedEvents()
-{
- QEventDispatcherWin32::sendPostedEvents();
- QWindowSystemInterface::sendWindowSystemEvents(m_flags);
-}
-
-// Helpers for printing debug output for WM_* messages.
-struct MessageDebugEntry
-{
- UINT message;
- const char *description;
- bool interesting;
-};
-
-static const MessageDebugEntry
-messageDebugEntries[] = {
- {WM_CREATE, "WM_CREATE", true},
- {WM_PAINT, "WM_PAINT", true},
- {WM_CLOSE, "WM_CLOSE", true},
- {WM_DESTROY, "WM_DESTROY", true},
- {WM_MOVE, "WM_MOVE", true},
- {WM_SIZE, "WM_SIZE", true},
- {WM_MOUSEACTIVATE,"WM_MOUSEACTIVATE", true},
- {WM_CHILDACTIVATE, "WM_CHILDACTIVATE", true},
- {WM_PARENTNOTIFY, "WM_PARENTNOTIFY", true},
- {WM_ENTERIDLE, "WM_ENTERIDLE", false},
- {WM_GETICON, "WM_GETICON", false},
- {WM_KEYDOWN, "WM_KEYDOWN", true},
- {WM_SYSKEYDOWN, "WM_SYSKEYDOWN", true},
- {WM_SYSCOMMAND, "WM_SYSCOMMAND", true},
- {WM_KEYUP, "WM_KEYUP", true},
- {WM_SYSKEYUP, "WM_SYSKEYUP", true},
-#if defined(WM_APPCOMMAND)
- {WM_APPCOMMAND, "WM_APPCOMMAND", true},
-#endif
- {WM_IME_CHAR, "WM_IMECHAR", true},
- {WM_IME_KEYDOWN, "WM_IMECHAR", true},
- {WM_CANCELMODE, "WM_CANCELMODE", true},
- {WM_CHAR, "WM_CHAR", true},
- {WM_DEADCHAR, "WM_DEADCHAR", true},
- {WM_ACTIVATE, "WM_ACTIVATE", true},
- {WM_GETMINMAXINFO, "WM_GETMINMAXINFO", true},
- {WM_SETFOCUS, "WM_SETFOCUS", true},
- {WM_KILLFOCUS, "WM_KILLFOCUS", true},
- {WM_ENABLE, "WM_ENABLE", true},
- {WM_SHOWWINDOW, "WM_SHOWWINDOW", true},
- {WM_WINDOWPOSCHANGING, "WM_WINDOWPOSCHANGING", true},
- {WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED", true},
- {WM_SETCURSOR, "WM_SETCURSOR", false},
- {WM_GETFONT, "WM_GETFONT", true},
- {WM_NCMOUSEMOVE, "WM_NCMOUSEMOVE", true},
- {WM_LBUTTONDOWN, "WM_LBUTTONDOWN", true},
- {WM_LBUTTONUP, "WM_LBUTTONUP", true},
- {WM_LBUTTONDBLCLK, "WM_LBUTTONDBLCLK", true},
- {WM_RBUTTONDOWN, "WM_RBUTTONDOWN", true},
- {WM_RBUTTONUP, "WM_RBUTTONUP", true},
- {WM_RBUTTONDBLCLK, "WM_RBUTTONDBLCLK", true},
- {WM_MBUTTONDOWN, "WM_MBUTTONDOWN", true},
- {WM_MBUTTONUP, "WM_MBUTTONUP", true},
- {WM_MBUTTONDBLCLK, "WM_MBUTTONDBLCLK", true},
- {WM_MOUSEWHEEL, "WM_MOUSEWHEEL", true},
- {WM_XBUTTONDOWN, "WM_XBUTTONDOWN", true},
- {WM_XBUTTONUP, "WM_XBUTTONUP", true},
- {WM_XBUTTONDBLCLK, "WM_XBUTTONDBLCLK", true},
- {WM_MOUSEHWHEEL, "WM_MOUSEHWHEEL", true},
- {WM_NCCREATE, "WM_NCCREATE", true},
- {WM_NCCALCSIZE, "WM_NCCALCSIZE", true},
- {WM_NCACTIVATE, "WM_NCACTIVATE", true},
- {WM_NCMOUSELEAVE, "WM_NCMOUSELEAVE", true},
- {WM_NCLBUTTONDOWN, "WM_NCLBUTTONDOWN", true},
- {WM_NCLBUTTONUP, "WM_NCLBUTTONUP", true},
- {WM_ACTIVATEAPP, "WM_ACTIVATEAPP", true},
- {WM_NCPAINT, "WM_NCPAINT", true},
- {WM_ERASEBKGND, "WM_ERASEBKGND", true},
- {WM_MOUSEMOVE, "WM_MOUSEMOVE", true},
- {WM_MOUSELEAVE, "WM_MOUSELEAVE", true},
- {WM_NCHITTEST, "WM_NCHITTEST", false},
- {WM_IME_SETCONTEXT, "WM_IME_SETCONTEXT", true},
- {WM_INPUTLANGCHANGE, "WM_INPUTLANGCHANGE", true},
- {WM_IME_NOTIFY, "WM_IME_NOTIFY", true},
-#if defined(WM_DWMNCRENDERINGCHANGED)
- {WM_DWMNCRENDERINGCHANGED, "WM_DWMNCRENDERINGCHANGED", true},
-#endif
- {WM_IME_SETCONTEXT, "WM_IME_SETCONTEXT", true},
- {WM_IME_NOTIFY, "WM_IME_NOTIFY", true},
- {WM_TOUCH, "WM_TOUCH", true},
- {WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN", true},
- {WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD", true},
- {WM_RENDERFORMAT, "WM_RENDERFORMAT", true},
- {WM_RENDERALLFORMATS, "WM_RENDERALLFORMATS", true},
- {WM_DESTROYCLIPBOARD, "WM_DESTROYCLIPBOARD", true},
- {WM_CAPTURECHANGED, "WM_CAPTURECHANGED", true},
- {WM_IME_STARTCOMPOSITION, "WM_IME_STARTCOMPOSITION", true},
- {WM_IME_COMPOSITION, "WM_IME_COMPOSITION", true},
- {WM_IME_ENDCOMPOSITION, "WM_IME_ENDCOMPOSITION", true},
- {WM_IME_NOTIFY, "WM_IME_NOTIFY", true},
- {WM_IME_REQUEST, "WM_IME_REQUEST", true},
-#if !defined(Q_OS_WINCE) && !defined(QT_NO_SESSIONMANAGER)
- {WM_QUERYENDSESSION, "WM_QUERYENDSESSION", true},
- {WM_ENDSESSION, "WM_ENDSESSION", true},
-#endif
- {WM_DISPLAYCHANGE, "WM_DISPLAYCHANGE", true},
- {WM_THEMECHANGED, "WM_THEMECHANGED", true}
-};
-
-static inline const MessageDebugEntry *messageDebugEntry(UINT msg)
-{
- for (size_t i = 0; i < sizeof(messageDebugEntries)/sizeof(MessageDebugEntry); i++)
- if (messageDebugEntries[i].message == msg)
- return messageDebugEntries + i;
- return 0;
-}
-
-const char *QWindowsGuiEventDispatcher::windowsMessageName(UINT msg)
-{
- if (const MessageDebugEntry *e = messageDebugEntry(msg))
- return e->description;
- return "Unknown";
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/platforms/windows/qwindowsguieventdispatcher.h b/src/plugins/platforms/windows/qwindowsguieventdispatcher.h
deleted file mode 100644
index 3389139461..0000000000
--- a/src/plugins/platforms/windows/qwindowsguieventdispatcher.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWINDOWSGUIEVENTDISPATCHER_H
-#define QWINDOWSGUIEVENTDISPATCHER_H
-
-#include "qtwindows_additional.h"
-
-#include <QtCore/private/qeventdispatcher_win_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWindowsGuiEventDispatcher : public QEventDispatcherWin32
-{
- Q_OBJECT
-public:
- explicit QWindowsGuiEventDispatcher(QObject *parent = 0);
-
- static const char *windowsMessageName(UINT msg);
-
- bool QT_ENSURE_STACK_ALIGNED_FOR_SSE processEvents(QEventLoop::ProcessEventsFlags flags) Q_DECL_OVERRIDE;
- void sendPostedEvents() Q_DECL_OVERRIDE;
-
-private:
- QEventLoop::ProcessEventsFlags m_flags;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWINDOWSGUIEVENTDISPATCHER_H
diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp
index 2f61baa8a1..81525775c6 100644
--- a/src/plugins/platforms/windows/qwindowsintegration.cpp
+++ b/src/plugins/platforms/windows/qwindowsintegration.cpp
@@ -44,7 +44,6 @@
# include "qwindowsfontdatabase_ft.h"
#endif
#include "qwindowsfontdatabase.h"
-#include "qwindowsguieventdispatcher.h"
#ifndef QT_NO_CLIPBOARD
# include "qwindowsclipboard.h"
# ifndef QT_NO_DRAGANDDROP
@@ -67,7 +66,8 @@
#include <QtGui/private/qhighdpiscaling_p.h>
#include <QtGui/qpa/qplatforminputcontextfactory_p.h>
-#include <QtCore/private/qeventdispatcher_win_p.h>
+#include <QtPlatformSupport/private/qwindowsguieventdispatcher_p.h>
+
#include <QtCore/QDebug>
#include <QtCore/QVariant>
@@ -291,7 +291,7 @@ bool QWindowsIntegration::hasCapability(QPlatformIntegration::Capability cap) co
return false;
}
-QWindowsWindowData QWindowsIntegration::createWindowData(QWindow *window) const
+QPlatformWindow *QWindowsIntegration::createPlatformWindow(QWindow *window) const
{
QWindowsWindowData requested;
requested.flags = window->flags();
@@ -310,22 +310,30 @@ QWindowsWindowData QWindowsIntegration::createWindowData(QWindow *window) const
<< "\n Obtained : " << obtained.geometry << " margins=" << obtained.frame
<< " handle=" << obtained.hwnd << ' ' << obtained.flags << '\n';
- if (obtained.hwnd) {
- if (requested.flags != obtained.flags)
- window->setFlags(obtained.flags);
- // Trigger geometry change signals of QWindow.
- if ((obtained.flags & Qt::Desktop) != Qt::Desktop && requested.geometry != obtained.geometry)
+ if (Q_UNLIKELY(!obtained.hwnd))
+ return Q_NULLPTR;
+
+ QWindowsWindow *result = createPlatformWindowHelper(window, obtained);
+ Q_ASSERT(result);
+
+ if (requested.flags != obtained.flags)
+ window->setFlags(obtained.flags);
+ // Trigger geometry/screen change signals of QWindow.
+ if ((obtained.flags & Qt::Desktop) != Qt::Desktop) {
+ if (requested.geometry != obtained.geometry)
QWindowSystemInterface::handleGeometryChange(window, obtained.geometry);
+ QPlatformScreen *screen = result->screenForGeometry(obtained.geometry);
+ if (screen && result->screen() != screen)
+ QWindowSystemInterface::handleWindowScreenChanged(window, screen->screen());
}
- return obtained;
+ return result;
}
-QPlatformWindow *QWindowsIntegration::createPlatformWindow(QWindow *window) const
+// Overridden to return a QWindowsDirect2DWindow in Direct2D plugin.
+QWindowsWindow *QWindowsIntegration::createPlatformWindowHelper(QWindow *window, const QWindowsWindowData &data) const
{
- QWindowsWindowData data = createWindowData(window);
- return data.hwnd ? new QWindowsWindow(window, data)
- : Q_NULLPTR;
+ return new QWindowsWindow(window, data);
}
#ifndef QT_NO_OPENGL
diff --git a/src/plugins/platforms/windows/qwindowsintegration.h b/src/plugins/platforms/windows/qwindowsintegration.h
index fa5192ba03..cb10bf08f5 100644
--- a/src/plugins/platforms/windows/qwindowsintegration.h
+++ b/src/plugins/platforms/windows/qwindowsintegration.h
@@ -62,7 +62,6 @@ public:
bool hasCapability(QPlatformIntegration::Capability cap) const;
- QWindowsWindowData createWindowData(QWindow *window) const;
QPlatformWindow *createPlatformWindow(QWindow *window) const;
#ifndef QT_NO_OPENGL
QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const Q_DECL_OVERRIDE;
@@ -101,6 +100,9 @@ public:
QPlatformSessionManager *createPlatformSessionManager(const QString &id, const QString &key) const Q_DECL_OVERRIDE;
#endif
+protected:
+ virtual QWindowsWindow *createPlatformWindowHelper(QWindow *window, const QWindowsWindowData &) const;
+
private:
QScopedPointer<QWindowsIntegrationPrivate> d;
diff --git a/src/plugins/platforms/windows/qwindowskeymapper.cpp b/src/plugins/platforms/windows/qwindowskeymapper.cpp
index f8e2ded228..4c0b94e6e7 100644
--- a/src/plugins/platforms/windows/qwindowskeymapper.cpp
+++ b/src/plugins/platforms/windows/qwindowskeymapper.cpp
@@ -35,7 +35,6 @@
#include "qwindowscontext.h"
#include "qwindowsintegration.h"
#include "qwindowswindow.h"
-#include "qwindowsguieventdispatcher.h"
#include "qwindowsinputcontext.h"
#include <QtGui/QWindow>
@@ -43,6 +42,7 @@
#include <private/qguiapplication_p.h>
#include <private/qhighdpiscaling_p.h>
#include <QtGui/QKeyEvent>
+#include <QtPlatformSupport/private/qwindowsguieventdispatcher_p.h>
#if defined(WM_APPCOMMAND)
# ifndef FAPPCOMMAND_MOUSE
diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h
index 583d3a4267..40d7a3f076 100644
--- a/src/plugins/platforms/windows/qwindowswindow.h
+++ b/src/plugins/platforms/windows/qwindowswindow.h
@@ -143,6 +143,8 @@ public:
QWindowsWindow(QWindow *window, const QWindowsWindowData &data);
~QWindowsWindow();
+ using QPlatformWindow::screenForGeometry;
+
QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; }
void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
QRect geometry() const Q_DECL_OVERRIDE { return m_data.geometry; }
diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
index 6e5789a86e..29297116da 100644
--- a/src/plugins/platforms/windows/windows.pri
+++ b/src/plugins/platforms/windows/windows.pri
@@ -29,7 +29,6 @@ SOURCES += \
$$PWD/qwindowsfontengine.cpp \
$$PWD/qwindowsfontdatabase.cpp \
$$PWD/qwindowsmousehandler.cpp \
- $$PWD/qwindowsguieventdispatcher.cpp \
$$PWD/qwindowsole.cpp \
$$PWD/qwindowsmime.cpp \
$$PWD/qwindowsinternalmimedata.cpp \
@@ -51,7 +50,6 @@ HEADERS += \
$$PWD/qwindowsfontengine.h \
$$PWD/qwindowsfontdatabase.h \
$$PWD/qwindowsmousehandler.h \
- $$PWD/qwindowsguieventdispatcher.h \
$$PWD/qtwindowsglobal.h \
$$PWD/qtwindows_additional.h \
$$PWD/qwindowsole.h \