[gimp/gimp-2-8] app: use g_get_monotonic_time() also for limiting display flushing (cherry picked from commit a9353c



commit 72ae6656e7fd7df5503fbb3bbae563ddb82f7a88
Author: Michael Natterer <mitch gimp org>
Date:   Sat Oct 6 18:01:41 2012 +0200

    app: use g_get_monotonic_time() also for limiting display flushing
    (cherry picked from commit a9353cd3a21e5224aa330dcf301cb8cebd43ff23)

 app/display/gimpdisplay.c |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)
---
diff --git a/app/display/gimpdisplay.c b/app/display/gimpdisplay.c
index 016425f..533237d 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]