diff --git a/engine/src/flutter/third_party/tonic/dart_message_handler.cc b/engine/src/flutter/third_party/tonic/dart_message_handler.cc index b1c501ea1f..1429927aaa 100644 --- a/engine/src/flutter/third_party/tonic/dart_message_handler.cc +++ b/engine/src/flutter/third_party/tonic/dart_message_handler.cc @@ -39,7 +39,9 @@ void DartMessageHandler::OnMessage(DartState* dart_state) { auto weak_dart_state = dart_state->GetWeakPtr(); task_dispatcher_([weak_dart_state]() { if (auto dart_state = weak_dart_state.lock()) { - dart_state->message_handler().OnHandleMessage(dart_state.get()); + if (!dart_state->IsShuttingDown()) { + dart_state->message_handler().OnHandleMessage(dart_state.get()); + } } }); }