| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "flutter/shell/platform/windows/flutter_windows_view_controller.h" |
| |
| namespace flutter { |
| |
| FlutterWindowsViewController::~FlutterWindowsViewController() { |
| Destroy(); |
| } |
| |
| void FlutterWindowsViewController::Destroy() { |
| if (!view_) { |
| return; |
| } |
| |
| // Prevent the engine from rendering into this view. |
| if (view_->GetEngine()->running()) { |
| auto view_id = view_->view_id(); |
| |
| view_->GetEngine()->RemoveView(view_id); |
| } |
| |
| // Destroy the view, followed by the engine if it is owned by this controller. |
| view_.reset(); |
| engine_.reset(); |
| } |
| |
| } // namespace flutter |