diff options
Diffstat (limited to 'meta-agl-flutter/recipes-graphics/toyota/files/0001-flutter_desktop-Remove-asio-post-call.patch')
-rw-r--r-- | meta-agl-flutter/recipes-graphics/toyota/files/0001-flutter_desktop-Remove-asio-post-call.patch | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0001-flutter_desktop-Remove-asio-post-call.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0001-flutter_desktop-Remove-asio-post-call.patch deleted file mode 100644 index f9cfea44d..000000000 --- a/meta-agl-flutter/recipes-graphics/toyota/files/0001-flutter_desktop-Remove-asio-post-call.patch +++ /dev/null @@ -1,94 +0,0 @@ -From a69dfff93b41b30ae8e237817548baf50d0c1287 Mon Sep 17 00:00:00 2001 -From: Marius Vlad <marius.vlad@collabora.com> -Date: Thu, 24 Oct 2024 14:45:35 +0300 -Subject: [PATCH] flutter_desktop: Remove asio::post call - -Do not dispatch/post the key event keycode using asio::post as that -seems to cause crashes as the messenger pointer seems to be go out of -scope or seems to be invalid. - -Bug-AGL: SPEC-5272 -Signed-off-by: Marius Vlad <marius.vlad@collabora.com> ---- - shell/platform/homescreen/flutter_desktop.cc | 65 ++++++++++---------- - 1 file changed, 31 insertions(+), 34 deletions(-) - -diff --git a/shell/platform/homescreen/flutter_desktop.cc b/shell/platform/homescreen/flutter_desktop.cc -index bb5be4b..5d26dd9 100644 ---- a/shell/platform/homescreen/flutter_desktop.cc -+++ b/shell/platform/homescreen/flutter_desktop.cc -@@ -161,40 +161,37 @@ std::future<bool> PostMessengerSendWithReply( - void* user_data) { - const auto promise(std::make_shared<std::promise<bool>>()); - auto promise_future(promise->get_future()); -- asio::post(*messenger->GetEngine()->platform_task_runner->GetStrandContext(), -- [&, promise, channel, message, message_size, reply, user_data]() { -- FlutterPlatformMessageResponseHandle* response_handle = nullptr; -- if (reply != nullptr && user_data != nullptr) { -- const FlutterEngineResult result = -- LibFlutterEngine->PlatformMessageCreateResponseHandle( -- messenger->GetEngine()->flutter_engine, reply, -- user_data, &response_handle); -- if (result != kSuccess) { -- spdlog::error("Failed to create response handle"); -- promise->set_value(false); -- return; -- } -- } -- -- auto platform_message = std::make_unique<FlutterPlatformMessage>(); -- platform_message->struct_size = sizeof(FlutterPlatformMessage); -- platform_message->channel = channel; -- platform_message->message = message; -- platform_message->message_size = message_size; -- platform_message->response_handle = response_handle; -- -- const FlutterEngineResult message_result = -- LibFlutterEngine->SendPlatformMessage( -- messenger->GetEngine()->flutter_engine, -- platform_message.release()); -- -- if (response_handle != nullptr) { -- LibFlutterEngine->PlatformMessageReleaseResponseHandle( -- messenger->GetEngine()->flutter_engine, response_handle); -- } -- -- promise->set_value(message_result == kSuccess); -- }); -+ -+ FlutterPlatformMessageResponseHandle* response_handle = nullptr; -+ if (reply != nullptr && user_data != nullptr) { -+ const FlutterEngineResult result = -+ LibFlutterEngine->PlatformMessageCreateResponseHandle( -+ messenger->GetEngine()->flutter_engine, reply, user_data, -+ &response_handle); -+ if (result != kSuccess) { -+ spdlog::error("Failed to create response handle"); -+ promise->set_value(false); -+ return promise_future; -+ } -+ } -+ -+ auto platform_message = std::make_unique<FlutterPlatformMessage>(); -+ platform_message->struct_size = sizeof(FlutterPlatformMessage); -+ platform_message->channel = channel; -+ platform_message->message = message; -+ platform_message->message_size = message_size; -+ platform_message->response_handle = response_handle; -+ -+ const FlutterEngineResult message_result = -+ LibFlutterEngine->SendPlatformMessage( -+ messenger->GetEngine()->flutter_engine, platform_message.release()); -+ -+ if (response_handle != nullptr) { -+ LibFlutterEngine->PlatformMessageReleaseResponseHandle( -+ messenger->GetEngine()->flutter_engine, response_handle); -+ } -+ -+ promise->set_value(message_result == kSuccess); - return promise_future; - } - --- -2.43.0 - |