summaryrefslogtreecommitdiff
path: root/UCoreWorkers.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2024-10-25 18:19:18 +0200
committerTomas Bzatek <tbzatek@redhat.com>2024-10-25 18:19:18 +0200
commitdcca0d691870b9f8be4be66d2e6d54e4635220dd (patch)
treebfbeb44792d44693b478052449dd2d084e2b9906 /UCoreWorkers.pas
parentfd398d01af2517a3c67a4b3755797d4f6a6f9884 (diff)
downloadtuxcmd-dcca0d691870b9f8be4be66d2e6d54e4635220dd.tar.xz
Handle zero file sizes in the Copy progress dialog
Division by zero...
Diffstat (limited to 'UCoreWorkers.pas')
-rw-r--r--UCoreWorkers.pas9
1 files changed, 6 insertions, 3 deletions
diff --git a/UCoreWorkers.pas b/UCoreWorkers.pas
index 70ac89f..8c35c49 100644
--- a/UCoreWorkers.pas
+++ b/UCoreWorkers.pas
@@ -1004,9 +1004,12 @@ end;
FCopyErrorHandledInProgress := not Result;
end else begin
// Progress update
- if BytesDone = 0 then UpdateProgress1(0, '0%')
- else UpdateProgress1(BytesDone, Format('%d%%', [Round(BytesDone / FFileSize * 100)]));
- UpdateProgress2(FTotalDone + BytesDone, Format('%d%%', [Round((FTotalDone + BytesDone) / FTotalSize * 100)]));
+ if (BytesDone = 0) or (FFileSize = 0)
+ then UpdateProgress1(0, '0%')
+ else UpdateProgress1(BytesDone, Format('%d%%', [Round(BytesDone / FFileSize * 100)]));
+ if FTotalSize = 0
+ then UpdateProgress2(0, '0%')
+ else UpdateProgress2(FTotalDone + BytesDone, Format('%d%%', [Round((FTotalDone + BytesDone) / FTotalSize * 100)]));
CommitGUIUpdate;
end;
end else DebugMsg(['*** CopyFilesWorker: Sender is not TWorkerThread']);