Send _NET_WM_FRAME_DRAWN messages

When the application provides the extended second counter for
_NET_WM_SYNC_REQUEST, send a client message with completion
information after the next redraw after each counter update
by the application.

https://bugzilla.gnome.org/show_bug.cgi?id=685463
This commit is contained in:
Owen W. Taylor
2011-06-13 18:09:59 -04:00
parent 70c0d39fa7
commit fbfab93c63
6 changed files with 62 additions and 0 deletions

View File

@ -356,6 +356,10 @@ struct _MetaWindow
* also handles application frames */
guint extended_sync_request_counter : 1;
/* if TRUE, we still need to send a _NET_WM_FRAME_DRAWN message for the
* last update the sync request counter */
guint needs_frame_drawn : 1;
/* Note: can be NULL */
GSList *struts;

View File

@ -9493,6 +9493,9 @@ void
meta_window_update_sync_request_counter (MetaWindow *window,
gint64 new_counter_value)
{
if (window->extended_sync_request_counter)
window->needs_frame_drawn = TRUE;
window->sync_request_serial = new_counter_value;
meta_compositor_set_updates_frozen (window->display->compositor, window,
meta_window_updates_are_frozen (window));