From 846324db5a6f3ff3ddf28d6122ebc7d2b19d71e7 Mon Sep 17 00:00:00 2001 From: Giulio Camuffo Date: Mon, 6 Oct 2014 14:26:46 +0300 Subject: [PATCH] Make use of the new QPlatformIntegration::destroyScreen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-41141 Change-Id: I0bd789cc1090f7e0e7615b47c33a4e4179677398 Reviewed-by: Jørgen Lind --- src/plugins/platforms/wayland/qwaylanddisplay.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp index 023050326e7..a4d13db7178 100644 --- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp +++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp @@ -168,7 +168,9 @@ QWaylandDisplay::QWaylandDisplay(QWaylandIntegration *waylandIntegration) QWaylandDisplay::~QWaylandDisplay(void) { - qDeleteAll(mScreens); + foreach (QWaylandScreen *screen, mScreens) { + mWaylandIntegration->destroyScreen(screen); + } mScreens.clear(); delete mDndSelectionHandler.take(); mEventThread->quit(); @@ -291,8 +293,8 @@ void QWaylandDisplay::registry_global_remove(uint32_t id) if (global.interface == QStringLiteral("wl_output")) { foreach (QWaylandScreen *screen, mScreens) { if (screen->outputId() == id) { - delete screen; mScreens.removeOne(screen); + mWaylandIntegration->destroyScreen(screen); break; } }