@@ -605,14 +605,6 @@ void FlutterWindowController::initializeChannel() {
605605 result->NotImplemented ();
606606 }
607607 });
608-
609- // To avoid an overflow of onWindowCreated messages, the number of messages
610- // that get buffered must be at least equal to the number of FlutterWindows
611- // created in the entrypoint of the runner code. This is required because
612- // the channel's message handler is set up on the Dart side only after the
613- // first call to State::didUpdateWidget.
614- auto const max_windows_on_startup{16 };
615- channel_->Resize (max_windows_on_startup);
616608 }
617609}
618610
@@ -650,16 +642,16 @@ auto FlutterWindowController::createRegularWindow(
650642 auto const view_id{window->flutter_controller ()->view_id ()};
651643 windows_[view_id] = std::move (window);
652644
653- initializeChannel ();
654645 cleanupClosedWindows ();
655646 sendOnWindowCreated (FlutterWindowArchetype::regular, view_id, std::nullopt );
656647
648+ FlutterWindowCreationResult result{
649+ .view_id = view_id,
650+ .archetype = FlutterWindowArchetype::regular,
651+ .size = getWindowSize (view_id)};
652+
657653 lock.unlock ();
658654
659- FlutterWindowCreationResult result;
660- result.view_id = view_id;
661- result.archetype = FlutterWindowArchetype::regular;
662- result.size = getWindowSize (view_id);
663655 sendOnWindowResized (view_id);
664656
665657 return result;
@@ -698,18 +690,16 @@ auto FlutterWindowController::createPopupWindow(
698690 auto const view_id{window->flutter_controller ()->view_id ()};
699691 windows_[view_id] = std::move (window);
700692
701- initializeChannel ();
702693 cleanupClosedWindows ();
703- sendOnWindowCreated (FlutterWindowArchetype::popup, view_id,
704- parent_view_id ? *parent_view_id : -1 );
694+ sendOnWindowCreated (FlutterWindowArchetype::popup, view_id, parent_view_id);
695+
696+ FlutterWindowCreationResult result{.view_id = view_id,
697+ .parent_id = parent_view_id,
698+ .archetype = FlutterWindowArchetype::popup,
699+ .size = getWindowSize (view_id)};
705700
706701 lock.unlock ();
707702
708- FlutterWindowCreationResult result;
709- result.view_id = view_id;
710- result.archetype = FlutterWindowArchetype::popup;
711- result.parent_id = parent_view_id;
712- result.size = getWindowSize (view_id);
713703 sendOnWindowResized (view_id);
714704
715705 return result;
0 commit comments