From 97c281547c1bddcbb415e1214a751b47dc83b671 Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Sun, 9 Apr 2017 14:20:40 +0200 Subject: [PATCH] Ownership fix for QtChildEvent When created using initWithType:child:, it should take ownership of the underlying QChildEvent. --- ObjQt.pro | 2 +- QtCore/QtChildEvent.mm | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ObjQt.pro b/ObjQt.pro index fa7a4e6..069ac07 100644 --- a/ObjQt.pro +++ b/ObjQt.pro @@ -24,7 +24,7 @@ HEADERS += common/helpers.h \ SOURCES += common/OFString+QString.mm \ QtCore/QtChildEvent.mm \ - QtCore/QtCoreApplication.mm \ + QtCore/QtCoreApplication.mm \ QtCore/QtEvent.mm \ QtCore/QtObject.mm \ QtCore/QtThread.mm \ diff --git a/QtCore/QtChildEvent.mm b/QtCore/QtChildEvent.mm index e386179..39da18c 100644 --- a/QtCore/QtChildEvent.mm +++ b/QtCore/QtChildEvent.mm @@ -16,8 +16,12 @@ child: (QtObject*)child { try { - return [self initWithQChildEvent: + self = [self initWithQChildEvent: new QChildEvent(type, [child qObject])]; + + [self takeOwnership]; + + return self; } catch (const std::bad_alloc &e) { self = [super initWithQEvent: NULL]; [self release];