From 070c8ba0292f8842b599060e3d1e2c8f41e49201 Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Fri, 15 Jul 2022 17:03:07 +0900 Subject: [PATCH 1/2] Stop the engine before destroying the surface * This fixes the crash that occurs when terminating flutter-tizen app Signed-off-by: Boram Bae --- shell/platform/tizen/flutter_tizen_engine.cc | 1 + shell/platform/tizen/flutter_tizen_view.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/shell/platform/tizen/flutter_tizen_engine.cc b/shell/platform/tizen/flutter_tizen_engine.cc index eb7d1a2381266..f35572c50b170 100644 --- a/shell/platform/tizen/flutter_tizen_engine.cc +++ b/shell/platform/tizen/flutter_tizen_engine.cc @@ -266,6 +266,7 @@ bool FlutterTizenEngine::StopEngine() { tizen_vsync_waiter_.reset(); #endif FlutterEngineResult result = embedder_api_.Shutdown(engine_); + view_ = nullptr; engine_ = nullptr; return (result == kSuccess); } diff --git a/shell/platform/tizen/flutter_tizen_view.cc b/shell/platform/tizen/flutter_tizen_view.cc index 3359f7ffb4f66..698ef54bde461 100644 --- a/shell/platform/tizen/flutter_tizen_view.cc +++ b/shell/platform/tizen/flutter_tizen_view.cc @@ -54,6 +54,7 @@ FlutterTizenView::FlutterTizenView(std::unique_ptr tizen_view) } FlutterTizenView::~FlutterTizenView() { + engine_->StopEngine(); DestroyRenderSurface(); } From 970bdfb496b44daa0a170e1ea7909971b6f2fd5f Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Tue, 19 Jul 2022 19:00:59 +0900 Subject: [PATCH 2/2] Update based on review Signed-off-by: Boram Bae --- shell/platform/tizen/flutter_tizen_view.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/shell/platform/tizen/flutter_tizen_view.cc b/shell/platform/tizen/flutter_tizen_view.cc index 698ef54bde461..50cfb734fac4a 100644 --- a/shell/platform/tizen/flutter_tizen_view.cc +++ b/shell/platform/tizen/flutter_tizen_view.cc @@ -54,7 +54,9 @@ FlutterTizenView::FlutterTizenView(std::unique_ptr tizen_view) } FlutterTizenView::~FlutterTizenView() { - engine_->StopEngine(); + if (engine_) { + engine_->StopEngine(); + } DestroyRenderSurface(); }