[mutter] Revert "x11: Cut some slack to clients doing slow draws/resizes"
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] Revert "x11: Cut some slack to clients doing slow draws/resizes"
- Date: Thu, 12 Mar 2015 17:44:10 +0000 (UTC)
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]