From 89552df61d27826d1a88b2ff59ad4959b4e110b9 Mon Sep 17 00:00:00 2001 From: Ievgenii Meshcheriakov Date: Fri, 11 Aug 2023 11:50:45 +0200 Subject: [PATCH] Revert "QDbus: Avoid memory leak in registerComplexDBusType" This reverts commit 4c1df115ecfb14c353c0ec46efdb1f9d2fc0ea95. We cannot guarantee that there are no more QMetaType instances that reference the interfaces being destroyed. All such instances will become invalid after the interface destruction with no way to verify that. Change-Id: Iad17fe88753143734b8b817dda184e3c3818575c Reviewed-by: Fabian Kosmale Reviewed-by: Thiago Macieira (cherry picked from commit 8a3330be38b5cac6098795f502fd54e7c8f555fb) Reviewed-by: Qt Cherry-pick Bot --- src/dbus/qdbusmetaobject.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/dbus/qdbusmetaobject.cpp b/src/dbus/qdbusmetaobject.cpp index 44437be33ad..2e367e63acd 100644 --- a/src/dbus/qdbusmetaobject.cpp +++ b/src/dbus/qdbusmetaobject.cpp @@ -116,11 +116,8 @@ static int registerComplexDBusType(const QByteArray &typeName) { ~Hash() { - for (QMetaType entry : std::as_const(*this)) { - auto iface = static_cast(entry.iface()); + for (QMetaType entry : *this) QMetaType::unregisterMetaType(std::move(entry)); - delete iface; - } } } hash; QMutexLocker lock(&mutex);