[mutter] Revert "x11: Cut some slack to clients doing slow draws/resizes"



commit 68ba45bcb2f758b65892abc6870d17b62f8440bf
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Mar 12 18:41:57 2015 +0100

    Revert "x11: Cut some slack to clients doing slow draws/resizes"
    
    As per https://bugzilla.gnome.org/show_bug.cgi?id=740424#c12
    
    This reverts commit 94c3c8f412ce997f1ff5fadb6f9a78f7ba5891c3.

 src/x11/window-x11.c |   72 +++++++++++++++++++------------------------------
 1 files changed, 28 insertions(+), 44 deletions(-)
---
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 993f99d..ec3656e 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -950,23 +950,6 @@ sync_request_timeout (gpointer data)
 }
 
 static void
-reset_sync_request_timeout (MetaWindow *window)
-{
-  if (window->sync_request_timeout_id != 0)
-    g_source_remove (window->sync_request_timeout_id);
-
-  /* We give the window 1 sec to respond to _NET_WM_SYNC_REQUEST;
-   * if this time expires, we consider the window unresponsive
-   * and resize it unsynchonized.
-   */
-  window->sync_request_timeout_id = g_timeout_add (1000,
-                                                   sync_request_timeout,
-                                                   window);
-  g_source_set_name_by_id (window->sync_request_timeout_id,
-                           "[mutter] sync_request_timeout");
-}
-
-static void
 send_sync_request (MetaWindow *window)
 {
   XClientMessageEvent ev;
@@ -1004,7 +987,15 @@ send_sync_request (MetaWindow *window)
   XSendEvent (window->display->xdisplay,
              window->xwindow, False, 0, (XEvent*) &ev);
 
-  reset_sync_request_timeout (window);
+  /* We give the window 1 sec to respond to _NET_WM_SYNC_REQUEST;
+   * if this time expires, we consider the window unresponsive
+   * and resize it unsynchonized.
+   */
+  window->sync_request_timeout_id = g_timeout_add (1000,
+                                                   sync_request_timeout,
+                                                   window);
+  g_source_set_name_by_id (window->sync_request_timeout_id,
+                           "[mutter] sync_request_timeout");
 
   meta_compositor_sync_updates_frozen (window->display->compositor, window);
 }
@@ -3347,34 +3338,27 @@ meta_window_x11_update_sync_request_counter (MetaWindow *window,
   window->sync_request_serial = new_counter_value;
   meta_compositor_sync_updates_frozen (window->display->compositor, window);
 
-  if (window->sync_request_timeout_id)
+  if (window == window->display->grab_window &&
+      meta_grab_op_is_resizing (window->display->grab_op) &&
+      new_counter_value >= window->sync_request_wait_serial &&
+      (!window->extended_sync_request_counter || new_counter_value % 2 == 0) &&
+      window->sync_request_timeout_id)
     {
-      if (new_counter_value < window->sync_request_wait_serial)
-        {
-          reset_sync_request_timeout (window);
-        }
-      else if (!window->extended_sync_request_counter || new_counter_value % 2 == 0)
-        {
-          g_source_remove (window->sync_request_timeout_id);
-          window->sync_request_timeout_id = 0;
+      meta_topic (META_DEBUG_RESIZING,
+                  "Alarm event received last motion x = %d y = %d\n",
+                  window->display->grab_latest_motion_x,
+                  window->display->grab_latest_motion_y);
 
-          if (window == window->display->grab_window &&
-              meta_grab_op_is_resizing (window->display->grab_op))
-            {
-              meta_topic (META_DEBUG_RESIZING,
-                          "Alarm event received last motion x = %d y = %d\n",
-                          window->display->grab_latest_motion_x,
-                          window->display->grab_latest_motion_y);
-
-              /* This means we are ready for another configure;
-               * no pointer round trip here, to keep in sync */
-              meta_window_update_resize (window,
-                                         window->display->grab_last_user_action_was_snap,
-                                         window->display->grab_latest_motion_x,
-                                         window->display->grab_latest_motion_y,
-                                         TRUE);
-            }
-        }
+      g_source_remove (window->sync_request_timeout_id);
+      window->sync_request_timeout_id = 0;
+
+      /* This means we are ready for another configure;
+       * no pointer round trip here, to keep in sync */
+      meta_window_update_resize (window,
+                                 window->display->grab_last_user_action_was_snap,
+                                 window->display->grab_latest_motion_x,
+                                 window->display->grab_latest_motion_y,
+                                 TRUE);
     }
 
   /* If sync was previously disabled, turn it back on and hope


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