From 0ad79dd0f00013831ea06ea4b0d7875db285b85c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 7 Aug 2017 14:57:18 +0200 Subject: iOS: Fix accessibility leak Change-Id: I359ce521decbbb06376fc48689762f462c8706b0 Reviewed-by: Frederik Gladhorn --- src/plugins/platforms/ios/quiview.mm | 12 ++++++++++-- src/plugins/platforms/ios/quiview_accessibility.mm | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm index dcdb5ae53f..5ead4d0bc3 100644 --- a/src/plugins/platforms/ios/quiview.mm +++ b/src/plugins/platforms/ios/quiview.mm @@ -62,10 +62,11 @@ - (id)initWithQIOSWindow:(QT_PREPEND_NAMESPACE(QIOSWindow) *)window { - if (self = [self initWithFrame:window->geometry().toCGRect()]) + if (self = [self initWithFrame:window->geometry().toCGRect()]) { m_qioswindow = window; + m_accessibleElements = [[NSMutableArray alloc] init]; + } - m_accessibleElements = [[NSMutableArray alloc] init]; return self; } @@ -104,6 +105,13 @@ return self; } +- (void)dealloc +{ + [m_accessibleElements release]; + + [super dealloc]; +} + - (void)willMoveToWindow:(UIWindow *)newWindow { // UIKIt will normally set the scale factor of a view to match the corresponding diff --git a/src/plugins/platforms/ios/quiview_accessibility.mm b/src/plugins/platforms/ios/quiview_accessibility.mm index 8dafaea552..69a4d375bd 100644 --- a/src/plugins/platforms/ios/quiview_accessibility.mm +++ b/src/plugins/platforms/ios/quiview_accessibility.mm @@ -50,7 +50,7 @@ return; QAccessible::Id accessibleId = QAccessible::uniqueId(iface); UIAccessibilityElement *elem = [[QMacAccessibilityElement alloc] initWithId: accessibleId withAccessibilityContainer: self]; - [m_accessibleElements addObject: elem]; + [m_accessibleElements addObject:[elem autorelease]]; } - (void)createAccessibleContainer:(QAccessibleInterface *)iface -- cgit v1.2.3