From ee4fa1b34eea01a869d059ca99139c10b140db3b Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Thu, 10 Sep 2020 16:10:04 -0400 Subject: [PATCH] Update Windows app template (#65511) --- .../app/windows.tmpl/flutter/.template_version | 2 +- .../app/windows.tmpl/runner/flutter_window.cpp | 13 +++++++------ .../templates/app/windows.tmpl/runner/run_loop.cpp | 9 ++++----- .../templates/app/windows.tmpl/runner/run_loop.h | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version b/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version index 1e8b3149621..7f8f011eb73 100644 --- a/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version +++ b/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version @@ -1 +1 @@ -6 +7 diff --git a/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp b/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp index 6c7fa3d0856..aa0deaf343e 100644 --- a/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp +++ b/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp @@ -17,22 +17,23 @@ bool FlutterWindow::OnCreate() { RECT frame = GetClientArea(); - // The size here must match the window dimensions to avoid unnecessary surface creation / destruction in the startup path. - flutter_controller_ = - std::make_unique(frame.right - frame.left, frame.bottom - frame.top, project_); + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); // Ensure that basic setup of the controller was successful. if (!flutter_controller_->engine() || !flutter_controller_->view()) { return false; } - RegisterPlugins(flutter_controller_.get()); - run_loop_->RegisterFlutterInstance(flutter_controller_.get()); + RegisterPlugins(flutter_controller_->engine()); + run_loop_->RegisterFlutterInstance(flutter_controller_->engine()); SetChildContent(flutter_controller_->view()->GetNativeWindow()); return true; } void FlutterWindow::OnDestroy() { if (flutter_controller_) { - run_loop_->UnregisterFlutterInstance(flutter_controller_.get()); + run_loop_->UnregisterFlutterInstance(flutter_controller_->engine()); flutter_controller_ = nullptr; } diff --git a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp index f91d6d4cb91..36849fd2785 100644 --- a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp +++ b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp @@ -47,20 +47,19 @@ void RunLoop::Run() { } void RunLoop::RegisterFlutterInstance( - flutter::FlutterViewController* flutter_instance) { + flutter::FlutterEngine* flutter_instance) { flutter_instances_.insert(flutter_instance); } void RunLoop::UnregisterFlutterInstance( - flutter::FlutterViewController* flutter_instance) { + flutter::FlutterEngine* flutter_instance) { flutter_instances_.erase(flutter_instance); } RunLoop::TimePoint RunLoop::ProcessFlutterMessages() { TimePoint next_event_time = TimePoint::max(); - for (auto flutter_controller : flutter_instances_) { - std::chrono::nanoseconds wait_duration = - flutter_controller->ProcessMessages(); + for (auto instance : flutter_instances_) { + std::chrono::nanoseconds wait_duration = instance->ProcessMessages(); if (wait_duration != std::chrono::nanoseconds::max()) { next_event_time = std::min(next_event_time, TimePoint::clock::now() + wait_duration); diff --git a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h index 442a58e5622..46ffc7a97a7 100644 --- a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h +++ b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h @@ -1,7 +1,7 @@ #ifndef RUN_LOOP_H_ #define RUN_LOOP_H_ -#include +#include #include #include @@ -22,11 +22,11 @@ class RunLoop { // Registers the given Flutter instance for event servicing. void RegisterFlutterInstance( - flutter::FlutterViewController* flutter_instance); + flutter::FlutterEngine* flutter_instance); // Unregisters the given Flutter instance from event servicing. void UnregisterFlutterInstance( - flutter::FlutterViewController* flutter_instance); + flutter::FlutterEngine* flutter_instance); private: using TimePoint = std::chrono::steady_clock::time_point; @@ -34,7 +34,7 @@ class RunLoop { // Processes all currently pending messages for registered Flutter instances. TimePoint ProcessFlutterMessages(); - std::set flutter_instances_; + std::set flutter_instances_; }; #endif // RUN_LOOP_H_