From 19b7b0eb025edc8796ac65eaed51cd64a70464e3 Mon Sep 17 00:00:00 2001 From: Shivesh Ganju Date: Wed, 19 Oct 2022 02:33:25 -0400 Subject: [PATCH] [fuchsia][scenic] Fix invalid viewRef error in pointer injection. (flutter/engine#36850) This CL fixes the bug in pointer injector delegate where the viewRef is incorrectly cloned in the flatland platform view, causing an invalid viewRef to be passed in the Fidl request. Test: flutter-embedder-test --- .../shell/platform/fuchsia/flutter/flatland_platform_view.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/flatland_platform_view.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/flatland_platform_view.cc index 6b9a5dfbd65..52c7b1bf556 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/flatland_platform_view.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/flatland_platform_view.cc @@ -154,10 +154,11 @@ void FlatlandPlatformView::OnChildViewViewRef( fuchsia::ui::views::ViewRef view_ref) { FML_CHECK(child_view_info_.count(content_id) == 1); - focus_delegate_->OnChildViewViewRef(view_id, std::move(view_ref)); - fuchsia::ui::views::ViewRef view_ref_clone; fidl::Clone(view_ref, &view_ref_clone); + + focus_delegate_->OnChildViewViewRef(view_id, std::move(view_ref)); + pointer_injector_delegate_->OnCreateView(view_id, std::move(view_ref_clone)); OnChildViewConnected(content_id); }