From 05c4a58b8e96c16e31fd0b9d0c975e269d83c99e Mon Sep 17 00:00:00 2001 From: linyu1 Date: Sun, 12 Jan 2020 11:54:30 +0800 Subject: [PATCH 1/2] fix SemanticsObject's circular reference because of FlutterPlatformViewSemanticsContainer --- .../darwin/ios/framework/Source/accessibility_bridge.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm b/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm index 86cec67044dd0..42bbccd954305 100644 --- a/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm +++ b/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm @@ -478,7 +478,7 @@ - (instancetype)initWithSemanticsObject:(SemanticsObject*)object { if (controller) { _platformView = [controller->GetPlatformViewByID(object.node.platformViewId) view]; } - self.accessibilityElements = @[ _semanticsObject, _platformView ]; + // self.accessibilityElements = @[ _semanticsObject, _platformView ]; } return self; } From d363e27d2b4826e9697854c699ae9df147490fba Mon Sep 17 00:00:00 2001 From: linyu1 Date: Sun, 12 Jan 2020 12:04:45 +0800 Subject: [PATCH 2/2] autorelease for FlutterPlatformViewSemanticsContainer --- .../darwin/ios/framework/Source/accessibility_bridge.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm b/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm index 42bbccd954305..bdd7e032e7db6 100644 --- a/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm +++ b/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm @@ -686,7 +686,7 @@ - (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction { FlutterPlatformViewsController* controller = GetPlatformViewsController(); if (controller) { object.platformViewSemanticsContainer = - [[FlutterPlatformViewSemanticsContainer alloc] initWithSemanticsObject:object]; + [[[FlutterPlatformViewSemanticsContainer alloc] initWithSemanticsObject:object] autorelease]; } } else if (object.platformViewSemanticsContainer) { [object.platformViewSemanticsContainer release];