Blame SOURCES/0010-Fix-leaked-subsurface-wayland-items.patch

de89c0
From a8d35b3c18bdb05a0da3ed50a554a7b7bd4ebed3 Mon Sep 17 00:00:00 2001
de89c0
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
de89c0
Date: Mon, 30 Nov 2020 13:13:18 +0100
de89c0
Subject: [PATCH 10/36] Fix leaked subsurface wayland items
de89c0
de89c0
Whenever a subsurface was added we would create a QWaylandQuickItem,
de89c0
but this was never deleted. It is one-to-one with the surface, so it
de89c0
should be deleted at the same time.
de89c0
de89c0
[ChangeLog][QtWaylandCompositor] Fixed a memory leak when creating
de89c0
subsurfaces.
de89c0
de89c0
Task-number: QTBUG-88782
de89c0
Change-Id: If4b3f15200ce3bd123ff73847d3593d174a39229
de89c0
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
de89c0
(cherry picked from commit 38fc568b30bf916165324c2cd2db127d2a9aa68c)
de89c0
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
de89c0
---
de89c0
 src/compositor/compositor_api/qwaylandquickitem.cpp | 1 +
de89c0
 1 file changed, 1 insertion(+)
de89c0
de89c0
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp
de89c0
index 15f0195c..2218f43a 100644
de89c0
--- a/src/compositor/compositor_api/qwaylandquickitem.cpp
de89c0
+++ b/src/compositor/compositor_api/qwaylandquickitem.cpp
de89c0
@@ -737,6 +737,7 @@ void QWaylandQuickItem::handleSubsurfaceAdded(QWaylandSurface *childSurface)
de89c0
         childItem->setVisible(true);
de89c0
         childItem->setParentItem(this);
de89c0
         connect(childSurface, &QWaylandSurface::subsurfacePositionChanged, childItem, &QWaylandQuickItem::handleSubsurfacePosition);
de89c0
+        connect(childSurface, &QWaylandSurface::destroyed, childItem, &QObject::deleteLater);
de89c0
     } else {
de89c0
         bool success = QMetaObject::invokeMethod(d->subsurfaceHandler, "handleSubsurfaceAdded", Q_ARG(QWaylandSurface *, childSurface));
de89c0
         if (!success)
de89c0
-- 
de89c0
2.33.1
de89c0