summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2020-10-05 14:34:45 +0200
committerAntónio Fernandes <antoniojpfernandes@gmail.com>2021-01-18 00:12:22 +0000
commitb6f22a50ec14436688600523af6f7c1b04700aec (patch)
treef60aa0c9a54636b256a01dae920ea4cfc648ec91
parent8005046fe96803ca62662657134f12bd5659d1cf (diff)
downloadnautilus-b6f22a50ec14436688600523af6f7c1b04700aec.tar.gz
file-operations: Do not report remaining time if not yet computed
Currently, the remaining time for some operations is reported even if it hasn't been yet computed. Consequently, "596,523 hours left" is shown to the user as it corresponds to the initial value, which is INT_MAX. In most cases this is because some GVfs backend doesn't report progress except the total file size. Let's do not report remaining time if transfer rate is 0, ie. remaing time is not computed. Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/232
-rw-r--r--src/nautilus-file-operations.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c
index 9b721dd71..5b10c9e03 100644
--- a/src/nautilus-file-operations.c
+++ b/src/nautilus-file-operations.c
@@ -1849,7 +1849,8 @@ report_delete_progress (CommonJob *job,
}
}
- if (elapsed < SECONDS_NEEDED_FOR_RELIABLE_TRANSFER_RATE)
+ if (elapsed < SECONDS_NEEDED_FOR_RELIABLE_TRANSFER_RATE ||
+ transfer_rate == 0)
{
if (files_left > 0)
{
@@ -2239,7 +2240,8 @@ report_trash_progress (CommonJob *job,
}
}
- if (elapsed < SECONDS_NEEDED_FOR_RELIABLE_TRANSFER_RATE)
+ if (elapsed < SECONDS_NEEDED_FOR_RELIABLE_TRANSFER_RATE ||
+ transfer_rate == 0)
{
if (files_left > 0)
{
@@ -4149,8 +4151,8 @@ report_copy_progress (CopyMoveJob *copy_job,
}
}
- if (elapsed < SECONDS_NEEDED_FOR_RELIABLE_TRANSFER_RATE &&
- transfer_rate > 0)
+ if (elapsed < SECONDS_NEEDED_FOR_RELIABLE_TRANSFER_RATE ||
+ transfer_rate == 0)
{
if (source_info->num_files == 1)
{