--- a/pidgin/gtkxfer.c Fri Jul 14 16:44:53 2017 -0500 +++ b/pidgin/gtkxfer.c Wed Jul 19 01:34:26 2017 +0000 @@ -84,7 +84,7 @@ typedef struct { GtkTreeIter iter; - time_t last_updated_time; + gint64 last_updated_time; gboolean in_list; char *name; @@ -1008,7 +1008,7 @@ { PidginXferUiData *data; char *size_str, *remaining_str; - time_t current_time; + gint64 current_time; GtkTreeIter iter; gboolean valid; @@ -1021,8 +1021,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 */