Skip to content

Commit 619f82f

Browse files
authored
fuchsia: Fix multi-views fallout (flutter#25984)
1 parent 91a4c72 commit 619f82f

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

flow/view_holder.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ void ViewHolder::Destroy(zx_koid_t id, ViewIdCallback on_view_destroyed) {
7474
auto binding = bindings->find(id);
7575
FML_DCHECK(binding != bindings->end());
7676

77-
if (binding->second->view_holder_) {
77+
if (binding->second->view_holder_ && on_view_destroyed) {
7878
on_view_destroyed(binding->second->view_holder_->id());
7979
}
8080
bindings->erase(id);

shell/platform/fuchsia/flutter/platform_view.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,13 +483,14 @@ bool PlatformView::OnChildViewStateChanged(scenic::ResourceId view_holder_id,
483483
return false;
484484
}
485485

486+
const std::string is_rendering_str = is_rendering ? "true" : "false";
486487
std::ostringstream out;
487488
out << "{"
488489
<< "\"method\":\"View.viewStateChanged\","
489490
<< "\"args\":{"
490491
<< " \"viewId\":" << view_id_mapping->second << "," // ViewHolderToken
491-
<< " \"is_rendering\":" << is_rendering << "," // IsViewRendering
492-
<< " \"state\":" << is_rendering // IsViewRendering
492+
<< " \"is_rendering\":" << is_rendering_str << "," // IsViewRendering
493+
<< " \"state\":" << is_rendering_str // IsViewRendering
493494
<< " }"
494495
<< "}";
495496
auto call = out.str();

shell/platform/fuchsia/flutter/platform_view_unittest.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -877,9 +877,9 @@ TEST_F(PlatformViewTests, ViewEventsTest) {
877877
<< "{"
878878
<< "\"method\":\"View.viewStateChanged\","
879879
<< "\"args\":{"
880-
<< " \"viewId\":" << kViewId << "," // ViewHolderToken
881-
<< " \"is_rendering\":" << true << "," // IsViewRendering
882-
<< " \"state\":" << true // IsViewRendering
880+
<< " \"viewId\":" << kViewId << "," // ViewHolderToken
881+
<< " \"is_rendering\":true," // IsViewRendering
882+
<< " \"state\":true" // IsViewRendering
883883
<< " }"
884884
<< "}";
885885
EXPECT_EQ(view_state_changed_expected_out.str(),

0 commit comments

Comments
 (0)