From 8a3330be38b5cac6098795f502fd54e7c8f555fb 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. Pick-to: 6.6 6.5 Change-Id: Iad17fe88753143734b8b817dda184e3c3818575c Reviewed-by: Fabian Kosmale Reviewed-by: Thiago Macieira --- 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 f1b586f58d..543b185df9 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);