From 72ae6656e7fd7df5503fbb3bbae563ddb82f7a88 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sat, 6 Oct 2012 18:01:41 +0200 Subject: [PATCH] app: use g_get_monotonic_time() also for limiting display flushing (cherry picked from commit a9353cd3a21e5224aa330dcf301cb8cebd43ff23) --- app/display/gimpdisplay.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/app/display/gimpdisplay.c b/app/display/gimpdisplay.c index 016425f8cb..533237d14b 100644 --- a/app/display/gimpdisplay.c +++ b/app/display/gimpdisplay.c @@ -75,7 +75,7 @@ struct _GimpDisplayPrivate GtkWidget *shell; GSList *update_areas; - GTimeVal last_flush_now; + guint64 last_flush_now; }; #define GIMP_DISPLAY_GET_PRIVATE(display) \ @@ -838,21 +838,13 @@ gimp_display_flush_whenever (GimpDisplay *display, if (now) { - GTimeVal time_now; - gint diff_usec; + guint64 now = g_get_monotonic_time (); - g_get_current_time (&time_now); - - diff_usec = (((guint64) time_now.tv_sec * G_USEC_PER_SEC + - (guint64) time_now.tv_usec) - - ((guint64) private->last_flush_now.tv_sec * G_USEC_PER_SEC + - (guint64) private->last_flush_now.tv_usec)); - - if (diff_usec > FLUSH_NOW_INTERVAL) + if ((now - private->last_flush_now) > FLUSH_NOW_INTERVAL) { gimp_display_shell_flush (gimp_display_get_shell (display), now); - g_get_current_time (&private->last_flush_now); + private->last_flush_now = now; } } else