nautilus r13725 - in trunk: . libnautilus-private
- From: alexl svn gnome org
- To: svn-commits-list gnome org
- Subject: nautilus r13725 - in trunk: . libnautilus-private
- Date: Mon, 11 Feb 2008 12:24:31 +0000 (GMT)
Author: alexl
Date: Mon Feb 11 12:24:30 2008
New Revision: 13725
URL: http://svn.gnome.org/viewvc/nautilus?rev=13725&view=rev
Log:
2008-02-11 Alexander Larsson <alexl redhat com>
* libnautilus-private/nautilus-progress-info.[ch]:
* libnautilus-private/nautilus-file-operations.c:
Make progress setting be ratio based and not
percent based and then ensure we handle division
by zero correctly in all cases.
Modified:
trunk/ChangeLog
trunk/libnautilus-private/nautilus-file-operations.c
trunk/libnautilus-private/nautilus-progress-info.c
trunk/libnautilus-private/nautilus-progress-info.h
Modified: trunk/libnautilus-private/nautilus-file-operations.c
==============================================================================
--- trunk/libnautilus-private/nautilus-file-operations.c (original)
+++ trunk/libnautilus-private/nautilus-file-operations.c Mon Feb 11 12:24:30 2008
@@ -1209,7 +1209,7 @@
}
if (source_info->num_files != 0) {
- nautilus_progress_info_set_progress (job->progress, (double)transfer_info->num_files / source_info->num_files);
+ nautilus_progress_info_set_progress (job->progress, transfer_info->num_files, source_info->num_files);
}
}
@@ -1501,7 +1501,7 @@
nautilus_progress_info_take_details (job->progress, s);
if (total_files != 0) {
- nautilus_progress_info_set_progress (job->progress, (double)files_trashed / total_files);
+ nautilus_progress_info_set_progress (job->progress, files_trashed, total_files);
}
}
@@ -2591,7 +2591,7 @@
nautilus_progress_info_take_details (job->progress, s);
}
- nautilus_progress_info_set_progress (job->progress, (double)transfer_info->num_bytes / total_size);
+ nautilus_progress_info_set_progress (job->progress, transfer_info->num_bytes, total_size);
}
static GFile *
@@ -4109,7 +4109,7 @@
"Making links to %'d files",
left), left));
- nautilus_progress_info_set_progress (job->progress, (double)left / total);
+ nautilus_progress_info_set_progress (job->progress, left, total);
}
Modified: trunk/libnautilus-private/nautilus-progress-info.c
==============================================================================
--- trunk/libnautilus-private/nautilus-progress-info.c (original)
+++ trunk/libnautilus-private/nautilus-progress-info.c Mon Feb 11 12:24:30 2008
@@ -784,18 +784,27 @@
void
nautilus_progress_info_set_progress (NautilusProgressInfo *info,
- double current_percent)
+ double current,
+ double total)
{
- G_LOCK (progress_info);
+ double current_percent;
+
+ if (total <= 0) {
+ current_percent = 1.0;
+ } else {
+ current_percent = current / total;
- if (current_percent < 0) {
- current_percent = 0;
- }
+ if (current_percent < 0) {
+ current_percent = 0;
+ }
- if (current_percent > 1.0) {
- current_percent = 1.0;
+ if (current_percent > 1.0) {
+ current_percent = 1.0;
+ }
}
+ G_LOCK (progress_info);
+
if (info->activity_mode || /* emit on switch from activity mode */
fabs (current_percent - info->progress) > 0.005 /* Emit on change of 0.5 percent */
) {
Modified: trunk/libnautilus-private/nautilus-progress-info.h
==============================================================================
--- trunk/libnautilus-private/nautilus-progress-info.h (original)
+++ trunk/libnautilus-private/nautilus-progress-info.h Mon Feb 11 12:24:30 2008
@@ -73,7 +73,8 @@
void nautilus_progress_info_take_details (NautilusProgressInfo *info,
char *details);
void nautilus_progress_info_set_progress (NautilusProgressInfo *info,
- double current_percent);
+ double current,
+ double total);
void nautilus_progress_info_pulse_progress (NautilusProgressInfo *info);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]