[metacity] window: avoid deprecated g_get_current_time



commit 16538110febf3a9c9a68d084df2e57c26c4630c6
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Wed Aug 14 01:34:43 2019 +0300

    window: avoid deprecated g_get_current_time
    
    https://gitlab.gnome.org/GNOME/glib/commit/626b6f5ea7704af566b598
    
    Replace g_get_current_time with g_get_real_time that has been
    documented to be functionally equivalent.

 src/core/display-private.h |  2 +-
 src/core/display.c         |  6 ++----
 src/core/window-private.h  |  2 +-
 src/core/window.c          | 42 +++++++++++-------------------------------
 4 files changed, 15 insertions(+), 37 deletions(-)
---
diff --git a/src/core/display-private.h b/src/core/display-private.h
index 8a2ee3ed..01642b32 100644
--- a/src/core/display-private.h
+++ b/src/core/display-private.h
@@ -191,7 +191,7 @@ struct _MetaDisplay
   int         grab_initial_x, grab_initial_y;  /* These are only relevant for */
   gboolean    grab_threshold_movement_reached; /* raise_on_click == FALSE.    */
   MetaResizePopup *grab_resize_popup;
-  GTimeVal    grab_last_moveresize_time;
+  gint64      grab_last_moveresize_time;
   guint32     grab_motion_notify_time;
   int         grab_wireframe_last_display_width;
   int         grab_wireframe_last_display_height;
diff --git a/src/core/display.c b/src/core/display.c
index 273c97c5..d3ab6351 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -3626,8 +3626,7 @@ meta_display_begin_grab_op (MetaDisplay *display,
   display->grab_anchor_root_y = root_y;
   display->grab_latest_motion_x = root_x;
   display->grab_latest_motion_y = root_y;
-  display->grab_last_moveresize_time.tv_sec = 0;
-  display->grab_last_moveresize_time.tv_usec = 0;
+  display->grab_last_moveresize_time = 0;
   display->grab_motion_notify_time = 0;
   display->grab_old_window_stacking = NULL;
   display->grab_last_user_action_was_snap = FALSE;
@@ -3663,8 +3662,7 @@ meta_display_begin_grab_op (MetaDisplay *display,
         {
           meta_window_create_sync_request_alarm (display->grab_window);
 
-          window->sync_request_time.tv_sec = 0;
-          window->sync_request_time.tv_usec = 0;
+          window->sync_request_time = 0;
         }
     }
 
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 4b34d5f4..f3ab63d8 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -356,7 +356,7 @@ struct _MetaWindow
   /* XSync update counter */
   XSyncCounter sync_request_counter;
   guint sync_request_serial;
-  GTimeVal sync_request_time;
+  gint64 sync_request_time;
   /* alarm monitoring client's _NET_WM_SYNC_REQUEST_COUNTER */
   XSyncAlarm sync_request_alarm;
 
diff --git a/src/core/window.c b/src/core/window.c
index 3cd5c654..6fae030b 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -419,8 +419,7 @@ meta_window_new (MetaDisplay    *display,
 
   window->sync_request_counter = None;
   window->sync_request_serial = 0;
-  window->sync_request_time.tv_sec = 0;
-  window->sync_request_time.tv_usec = 0;
+  window->sync_request_time = 0;
   window->sync_request_alarm = None;
 
   window->screen = display->screen;
@@ -3489,7 +3488,7 @@ send_sync_request (MetaWindow *window)
   XSendEvent (window->display->xdisplay,
               window->xwindow, False, 0, (XEvent*) &ev);
 
-  g_get_current_time (&window->sync_request_time);
+  window->sync_request_time = g_get_real_time ();
 }
 
 /**
@@ -3892,8 +3891,7 @@ meta_window_move_resize_internal (MetaWindow          *window,
       if (window == window->display->grab_window &&
           window->sync_request_counter != None &&
           window->sync_request_alarm != None &&
-          window->sync_request_time.tv_usec == 0 &&
-          window->sync_request_time.tv_sec == 0)
+          window->sync_request_time == 0)
         {
           /* turn off updating */
           meta_window_set_updates_frozen_for_resize (window, TRUE);
@@ -7349,37 +7347,21 @@ meta_window_titlebar_is_onscreen (MetaWindow *window)
   return is_onscreen;
 }
 
-static double
-timeval_to_ms (const GTimeVal *timeval)
-{
-  return (timeval->tv_sec * G_USEC_PER_SEC + timeval->tv_usec) / 1000.0;
-}
-
-static double
-time_diff (const GTimeVal *first,
-           const GTimeVal *second)
-{
-  double first_ms = timeval_to_ms (first);
-  double second_ms = timeval_to_ms (second);
-
-  return first_ms - second_ms;
-}
-
 static gboolean
 check_moveresize_frequency (MetaWindow *window,
                             gdouble    *remaining)
 {
-  GTimeVal current_time;
+  gint64 current_time;
+  gdouble elapsed;
 
-  g_get_current_time (&current_time);
+  current_time = g_get_real_time ();
 
   if (!window->disable_sync &&
       window->sync_request_alarm != None)
     {
-      if (window->sync_request_time.tv_sec != 0 ||
-          window->sync_request_time.tv_usec != 0)
+      if (window->sync_request_time != 0)
         {
-          double elapsed = time_diff (&current_time, &window->sync_request_time);
+          elapsed = (current_time - window->sync_request_time) / 1000.0;
 
           if (elapsed < 1000.0)
             {
@@ -7412,9 +7394,8 @@ check_moveresize_frequency (MetaWindow *window,
     {
       const double max_resizes_per_second = 25.0;
       const double ms_between_resizes = 1000.0 / max_resizes_per_second;
-      double elapsed;
 
-      elapsed = time_diff (&current_time, &window->display->grab_last_moveresize_time);
+      elapsed = (current_time - window->display->grab_last_moveresize_time) / 1000.0;
 
       if (elapsed >= 0.0 && elapsed < ms_between_resizes)
         {
@@ -7920,7 +7901,7 @@ update_resize (MetaWindow *window,
 
   /* Store the latest resize time, if we actually resized. */
   if (window->rect.width != old.width || window->rect.height != old.height)
-    g_get_current_time (&window->display->grab_last_moveresize_time);
+    window->display->grab_last_moveresize_time = g_get_real_time ();
 }
 
 typedef struct
@@ -8033,8 +8014,7 @@ meta_window_update_sync_request_counter (MetaWindow *window,
        * busy with a pagefault or a long computation).
        */
       window->disable_sync = FALSE;
-      window->sync_request_time.tv_sec = 0;
-      window->sync_request_time.tv_usec = 0;
+      window->sync_request_time = 0;
 
       /* This means we are ready for another configure. */
       switch (window->display->grab_op)


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