summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wehner <martin.wehner@gmail.com>2005-02-27 14:50:03 +0000
committerMartin Wehner <mwehner@src.gnome.org>2005-02-27 14:50:03 +0000
commit804f56e668fc93a5339d2a06c649c54689293c64 (patch)
tree5478886153d9140e8661d0604e321c7847cd7119
parenta628dbd3592b3119cda461f9db9898b8559b2571 (diff)
downloadnautilus-804f56e668fc93a5339d2a06c649c54689293c64.tar.gz
Don't show ETA if bytes_copied > bytes_total. Prevents miscalculated ETAs
2005-02-27 Martin Wehner <martin.wehner@gmail.com> * libnautilus-private/nautilus-file-operations-progress.c: (time_remaining_callback): Don't show ETA if bytes_copied > bytes_total. Prevents miscalculated ETAs from being shown. (#158614) Based on a patch from John Spray <jcs116@york.ac.uk>
-rw-r--r--ChangeLog8
-rw-r--r--libnautilus-private/nautilus-file-operations-progress.c8
2 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c2978f68f..c861a34dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-02-27 Martin Wehner <martin.wehner@gmail.com>
+
+ * libnautilus-private/nautilus-file-operations-progress.c:
+ (time_remaining_callback):
+ Don't show ETA if bytes_copied > bytes_total.
+ Prevents miscalculated ETAs from being shown. (#158614)
+ Based on a patch from John Spray <jcs116@york.ac.uk>
+
2005-02-24 Alexander Larsson <alexl@redhat.com>
* src/file-manager/fm-properties-window.c:
diff --git a/libnautilus-private/nautilus-file-operations-progress.c b/libnautilus-private/nautilus-file-operations-progress.c
index f0b4e205c..1384278d0 100644
--- a/libnautilus-private/nautilus-file-operations-progress.c
+++ b/libnautilus-private/nautilus-file-operations-progress.c
@@ -398,7 +398,13 @@ time_remaining_callback (gpointer callback_data)
time_remaining = (progress->details->bytes_total -
progress->details->bytes_copied) / transfer_rate;
- if (time_remaining >= 3600) {
+ if (progress->details->bytes_copied > progress->details->bytes_total) {
+ /* This shouldn't be neccessary, but gnome-vfs seems to add the bytes processed during
+ * the cleanup phase to bytes_copied. So we try avoid showing unrealistic ETAs here.
+ */
+ str = g_strdup_printf ("%s", " ");
+ }
+ else if (time_remaining >= 3600) {
str = g_strdup_printf (_("(%d:%02d:%d Remaining)"),
time_remaining / 3600, (time_remaining % 3600) / 60, (time_remaining % 3600) % 60);