summaryrefslogtreecommitdiffstats
path: root/deps/qt5/patches/qt5.qtbug-61140.patch
diff options
context:
space:
mode:
Diffstat (limited to 'deps/qt5/patches/qt5.qtbug-61140.patch')
-rw-r--r--deps/qt5/patches/qt5.qtbug-61140.patch101
1 files changed, 0 insertions, 101 deletions
diff --git a/deps/qt5/patches/qt5.qtbug-61140.patch b/deps/qt5/patches/qt5.qtbug-61140.patch
deleted file mode 100644
index 17468a9..0000000
--- a/deps/qt5/patches/qt5.qtbug-61140.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-https://github.com/qt/qtbase/commit/744fd39e.patch
-
-From 744fd39e66b0b44e65a2505d674fa1cda8b205a4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@qt.io>
-Date: Fri, 2 Jun 2017 11:09:55 +0200
-Subject: [PATCH] xcb: Don't destroy foreign windows
-
-We can't rely on virtual dispatch in the destructor.
-
-Task-number: QTBUG-61140
-Change-Id: Ib1026caf126095778c24254775cb5a0bfecf3a38
-Reviewed-by: Fabian Vogt
-Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
----
- src/plugins/platforms/xcb/qxcbintegration.cpp | 18 +-----------------
- src/plugins/platforms/xcb/qxcbwindow.cpp | 16 ++++++++++------
- src/plugins/platforms/xcb/qxcbwindow.h | 12 ++++++++++++
- 3 files changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
-index b414bee204..8e3ee20329 100644
---- a/src/plugins/platforms/xcb/qxcbintegration.cpp
-+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
-@@ -214,25 +214,9 @@ QPlatformWindow *QXcbIntegration::createPlatformWindow(QWindow *window) const
- return xcbWindow;
- }
-
--class QXcbForeignWindow : public QXcbWindow
--{
--public:
-- QXcbForeignWindow(QWindow *window, WId nativeHandle)
-- : QXcbWindow(window) { m_window = nativeHandle; }
-- ~QXcbForeignWindow() {}
-- bool isForeignWindow() const override { return true; }
--
--protected:
-- // No-ops
-- void create() override {}
-- void destroy() override {}
--};
--
- QPlatformWindow *QXcbIntegration::createForeignWindow(QWindow *window, WId nativeHandle) const
- {
-- QXcbWindow *xcbWindow = new QXcbForeignWindow(window, nativeHandle);
-- xcbWindow->create();
-- return xcbWindow;
-+ return new QXcbForeignWindow(window, nativeHandle);
- }
-
- #ifndef QT_NO_OPENGL
-diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
-index 289d0720e7..d6c69d52ef 100644
---- a/src/plugins/platforms/xcb/qxcbwindow.cpp
-+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
-@@ -597,13 +597,17 @@ QXcbWindow::~QXcbWindow()
- }
-
- destroy();
-+}
-
-- if (isForeignWindow()) {
-- if (connection()->mouseGrabber() == this)
-- connection()->setMouseGrabber(Q_NULLPTR);
-- if (connection()->mousePressWindow() == this)
-- connection()->setMousePressWindow(Q_NULLPTR);
-- }
-+QXcbForeignWindow::~QXcbForeignWindow()
-+{
-+ // Clear window so that destroy() does not affect it
-+ m_window = 0;
-+
-+ if (connection()->mouseGrabber() == this)
-+ connection()->setMouseGrabber(nullptr);
-+ if (connection()->mousePressWindow() == this)
-+ connection()->setMousePressWindow(nullptr);
- }
-
- void QXcbWindow::destroy()
-diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
-index 56628094ee..f38343b6c2 100644
---- a/src/plugins/platforms/xcb/qxcbwindow.h
-+++ b/src/plugins/platforms/xcb/qxcbwindow.h
-@@ -278,6 +278,18 @@ public Q_SLOTS:
- xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE;
- };
-
-+class QXcbForeignWindow : public QXcbWindow
-+{
-+public:
-+ QXcbForeignWindow(QWindow *window, WId nativeHandle)
-+ : QXcbWindow(window) { m_window = nativeHandle; }
-+ ~QXcbForeignWindow();
-+ bool isForeignWindow() const override { return true; }
-+
-+protected:
-+ void create() override {} // No-op
-+};
-+
- QT_END_NAMESPACE
-
- Q_DECLARE_METATYPE(QXcbWindow*)