summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-08-07 14:57:18 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-08-09 12:44:13 +0000
commit0ad79dd0f00013831ea06ea4b0d7875db285b85c (patch)
treeabb9a212afa832b374975f4f161c660b43cd0473 /src/plugins/platforms/ios
parent123741b64c461b5ab47fecf37d7a6ede1d847dae (diff)
iOS: Fix accessibility leak
Change-Id: I359ce521decbbb06376fc48689762f462c8706b0 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/plugins/platforms/ios')
-rw-r--r--src/plugins/platforms/ios/quiview.mm12
-rw-r--r--src/plugins/platforms/ios/quiview_accessibility.mm2
2 files changed, 11 insertions, 3 deletions
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