From ed60579ba3cf86b44d90d65648fd8c8dbe5c34ba Mon Sep 17 00:00:00 2001 From: Ben Olden-Cooligan Date: Mon, 23 Dec 2024 13:38:59 -0800 Subject: [PATCH] Apple: Fix chaining callbacks --- NAPS2.Sdk/Scan/Internal/Apple/DeviceOperator.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/NAPS2.Sdk/Scan/Internal/Apple/DeviceOperator.cs b/NAPS2.Sdk/Scan/Internal/Apple/DeviceOperator.cs index e7fd57d18b..13d1df11c5 100644 --- a/NAPS2.Sdk/Scan/Internal/Apple/DeviceOperator.cs +++ b/NAPS2.Sdk/Scan/Internal/Apple/DeviceOperator.cs @@ -128,8 +128,10 @@ public override void DidScanToBandData(ICScannerDevice scanner, ICScannerBandDat _buffer = null; var tcs = new TaskCompletionSource(); // Ensure sequencing is maintained when writing to the callback even if copy tasks finish out of order - _writeToCallback = (_writeToCallback ?? Task.CompletedTask).ContinueWith(async _ => + var previousCallback = _writeToCallback ?? Task.CompletedTask; + _writeToCallback = Task.Run(async () => { + await previousCallback; var image = await tcs.Task; if (image != null) {