window: Enable pinging on Wayland windows
I implemented pinging, but never actually enabled the feature properly on Wayland surfaces by setting the net_wm_ping hint to TRUE, causing the fallback path to always be hit. Rename net_wm_ping to can_ping so it doesn't take on an implementation-specific meaning, and set it for all Wayland windows.
This commit is contained in:
parent
24c5290d7f
commit
e62fe956fd
@ -4980,7 +4980,7 @@ meta_display_ping_window (MetaWindow *window,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!window->net_wm_ping)
|
||||
if (!window->can_ping)
|
||||
{
|
||||
if (ping_reply_func)
|
||||
(* ping_reply_func) (window, timestamp, user_data);
|
||||
|
@ -238,7 +238,7 @@ struct _MetaWindow
|
||||
/* These are the flags from WM_PROTOCOLS */
|
||||
guint take_focus : 1;
|
||||
guint delete_window : 1;
|
||||
guint net_wm_ping : 1;
|
||||
guint can_ping : 1;
|
||||
/* Globally active / No input */
|
||||
guint input : 1;
|
||||
|
||||
|
@ -1407,7 +1407,7 @@ reload_wm_protocols (MetaWindow *window,
|
||||
|
||||
window->take_focus = FALSE;
|
||||
window->delete_window = FALSE;
|
||||
window->net_wm_ping = FALSE;
|
||||
window->can_ping = FALSE;
|
||||
|
||||
if (value->type == META_PROP_VALUE_INVALID)
|
||||
return;
|
||||
@ -1423,7 +1423,7 @@ reload_wm_protocols (MetaWindow *window,
|
||||
window->delete_window = TRUE;
|
||||
else if (value->v.atom_list.atoms[i] ==
|
||||
window->display->atom__NET_WM_PING)
|
||||
window->net_wm_ping = TRUE;
|
||||
window->can_ping = TRUE;
|
||||
++i;
|
||||
}
|
||||
|
||||
|
@ -874,7 +874,7 @@ _meta_window_shared_new (MetaDisplay *display,
|
||||
window->user_time_window = None;
|
||||
window->take_focus = FALSE;
|
||||
window->delete_window = FALSE;
|
||||
window->net_wm_ping = FALSE;
|
||||
window->can_ping = FALSE;
|
||||
window->input = TRUE;
|
||||
window->calc_placement = FALSE;
|
||||
window->shaken_loose = FALSE;
|
||||
@ -1320,6 +1320,7 @@ meta_window_wayland_new (MetaDisplay *display,
|
||||
WithdrawnState,
|
||||
META_COMP_EFFECT_CREATE,
|
||||
&attrs);
|
||||
window->can_ping = TRUE;
|
||||
|
||||
meta_error_trap_pop (display); /* pop the XSync()-reducing trap */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user