From 08336ea9b25c1f3bd7288d5173615fa803ce1824 Mon Sep 17 00:00:00 2001 From: Joseph Cloutier Date: Sat, 26 Mar 2022 21:35:57 -0400 Subject: [PATCH] Improve `Future`'s backwards compatibility. --- src/lime/app/Future.hx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lime/app/Future.hx b/src/lime/app/Future.hx index 3707880f9..c4ebaa176 100644 --- a/src/lime/app/Future.hx +++ b/src/lime/app/Future.hx @@ -84,7 +84,7 @@ import lime.utils.Log; } #end - FutureWork.run(dispatchWorkFunction, work, promise, useThreads ? MULTI_THREADED : SINGLE_THREADED); + FutureWork.run(dispatchWorkFunction, work, promise, useThreads ? MULTI_THREADED : SINGLE_THREADED, true); } } @@ -381,9 +381,9 @@ import lime.utils.Log; } @:allow(lime.app.Future) - private static function run(work:WorkFunctionNull>, state:State, promise:Promise, mode:ThreadMode = MULTI_THREADED):Void + private static function run(work:WorkFunctionNull>, state:State, promise:Promise, mode:ThreadMode = MULTI_THREADED, legacyCode:Bool = false):Void { - var bundle = {work: work, state: state, promise: promise}; + var bundle = {work: work, state: state, promise: promise, legacyCode: legacyCode}; #if lime_threads if (mode == MULTI_THREADED) @@ -401,12 +401,12 @@ import lime.utils.Log; } // Event Handlers - private static function threadPool_doWork(bundle:{work:WorkFunctionDynamic>, state:State}, output:WorkOutput):Void + private static function threadPool_doWork(bundle:{work:WorkFunctionDynamic>, state:State, legacyCode:Bool}, output:WorkOutput):Void { try { var result = bundle.work.dispatch(bundle.state); - if (result != null) + if (result != null || bundle.legacyCode) { #if (lime_threads && html5) bundle.work.makePortable();