--- a/pidgin/gtkxfer.c Mon Jul 10 07:01:04 2017 +0000 +++ b/pidgin/gtkxfer.c Mon Jul 10 21:40:59 2017 -0400 @@ -84,7 +84,7 @@ typedef struct { GtkTreeIter iter; - time_t last_updated_time; + gint64 last_updated_time; gboolean in_list; char *name; @@ -1009,7 +1009,7 @@ { PidginXferUiData *data; char *size_str, *remaining_str; - time_t current_time; + gint64 current_time; GtkTreeIter iter; gboolean valid; @@ -1022,8 +1022,8 @@ if (data->in_list == FALSE) return; - current_time = time(NULL); - if (((current_time - data->last_updated_time) == 0) && + current_time = g_get_monotonic_time(); + if (((current_time - data->last_updated_time) < G_USEC_PER_SEC) && (!purple_xfer_is_completed(xfer))) { /* Don't update the window more than once per second */