diff --git a/thermion_dart/native/src/c_api/ThermionDartRenderThreadApi.cpp b/thermion_dart/native/src/c_api/ThermionDartRenderThreadApi.cpp index 4709565f..be17d6c1 100644 --- a/thermion_dart/native/src/c_api/ThermionDartRenderThreadApi.cpp +++ b/thermion_dart/native/src/c_api/ThermionDartRenderThreadApi.cpp @@ -350,7 +350,13 @@ extern "C" [=]() mutable { Engine_execute(tEngine); - PROXY(onComplete(requestId)); + std::packaged_task callback( + [=]() mutable + { + PROXY(onComplete(requestId)); + }); + _renderThread->add_task(callback); + _renderThread->restart(); }); auto fut = _renderThread->add_task(lambda); }