From 38a292fd36c2bae72fb2dafbebf6c41bfcee3bb4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 31 Aug 2012 13:06:27 -0400 Subject: preserve bytesComplete when updating a transfer info Avoids flicker to 0% when resuming a paused transfer. --- Assistant/DaemonStatus.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Assistant') diff --git a/Assistant/DaemonStatus.hs b/Assistant/DaemonStatus.hs index 24ac0ffb0..b5dd08d0e 100644 --- a/Assistant/DaemonStatus.hs +++ b/Assistant/DaemonStatus.hs @@ -196,8 +196,8 @@ alterTransferInfo :: DaemonStatusHandle -> Transfer -> (TransferInfo -> Transfer alterTransferInfo dstatus t a = updateTransferInfo' dstatus $ M.adjust a t {- Updates a transfer's info. Adds the transfer to the map if necessary, - - or if already present, updates it while preserving the old transferTid - - and transferPaused values, which are not written to disk. -} + - or if already present, updates it while preserving the old transferTid, + - transferPaused, and bytesComplete values, which are not written to disk. -} updateTransferInfo :: DaemonStatusHandle -> Transfer -> TransferInfo -> IO () updateTransferInfo dstatus t info = updateTransferInfo' dstatus $ M.insertWith' merge t info @@ -205,6 +205,7 @@ updateTransferInfo dstatus t info = updateTransferInfo' dstatus $ merge new old = new { transferTid = maybe (transferTid new) Just (transferTid old) , transferPaused = transferPaused new || transferPaused old + , bytesComplete = maybe (bytesComplete new) Just (bytesComplete old) } updateTransferInfo' :: DaemonStatusHandle -> (TransferMap -> TransferMap) -> IO () -- cgit v1.2.3