From c8b4197db3ef50c2be47cf05e62c1a8078e7e48d Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Fri, 8 Nov 2024 13:01:32 -0800 Subject: [PATCH] [iOS] fix tracking of previous platform views. (flutter/engine#56461) We need to track all previous platform views, even if some component of the hierarchy is missing. --- .../darwin/ios/framework/Source/platform_views_controller.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/platform_views_controller.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/platform_views_controller.mm index b14e8f0c947..383eb7f0c55 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/platform_views_controller.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/platform_views_controller.mm @@ -793,6 +793,7 @@ void PlatformViewsController::BringLayersIntoView(const LayersMap& layer_map, previous_composition_order_.clear(); NSMutableArray* desired_platform_subviews = [NSMutableArray array]; for (int64_t platform_view_id : composition_order) { + previous_composition_order_.push_back(platform_view_id); UIView* platform_view_root = platform_views_[platform_view_id].root_view; if (platform_view_root != nil) { [desired_platform_subviews addObject:platform_view_root]; @@ -803,7 +804,6 @@ void PlatformViewsController::BringLayersIntoView(const LayersMap& layer_map, auto view = maybe_layer_data->second.layer->overlay_view_wrapper; if (view != nil) { [desired_platform_subviews addObject:view]; - previous_composition_order_.push_back(platform_view_id); } } }