summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbintegration.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-06-02 11:09:55 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-06-07 12:06:27 +0000
commit744fd39e66b0b44e65a2505d674fa1cda8b205a4 (patch)
tree4659e1f23ca30c0e79fa970d994d302726b355d4 /src/plugins/platforms/xcb/qxcbintegration.cpp
parent94a2aec05bcd40194354107eb8264bf28cbd2b19 (diff)
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>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbintegration.cpp')
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp18
1 files changed, 1 insertions, 17 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