mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 13:41:07 +00:00
wayland: Use a GdkSeat as key for our internal hash table
With the current implementation, we use a `wl_seat` as the key for our internal has table where we store the Wayland shortcuts inhibitors. There is however no technical reason for this, and we could use a GdkSeat instead, which will ease the implementation of the GdkToplevel shortcut inhibition API.
This commit is contained in:
parent
a07a69e24e
commit
5ac73be976
@ -4112,9 +4112,9 @@ gdk_wayland_surface_set_transient_for_exported (GdkSurface *surface,
|
||||
|
||||
static struct zwp_keyboard_shortcuts_inhibitor_v1 *
|
||||
gdk_wayland_surface_get_inhibitor (GdkWaylandSurface *impl,
|
||||
struct wl_seat *seat)
|
||||
GdkSeat *gdk_seat)
|
||||
{
|
||||
return g_hash_table_lookup (impl->shortcuts_inhibitors, seat);
|
||||
return g_hash_table_lookup (impl->shortcuts_inhibitors, gdk_seat);
|
||||
}
|
||||
|
||||
void
|
||||
@ -4131,13 +4131,13 @@ gdk_wayland_surface_inhibit_shortcuts (GdkSurface *surface,
|
||||
return;
|
||||
|
||||
if (gdk_wayland_surface_get_inhibitor (impl, seat))
|
||||
return; /* Already inhibitted */
|
||||
return; /* Already inhibited */
|
||||
|
||||
inhibitor =
|
||||
zwp_keyboard_shortcuts_inhibit_manager_v1_inhibit_shortcuts (
|
||||
display->keyboard_shortcuts_inhibit, wl_surface, seat);
|
||||
|
||||
g_hash_table_insert (impl->shortcuts_inhibitors, seat, inhibitor);
|
||||
g_hash_table_insert (impl->shortcuts_inhibitors, gdk_seat, inhibitor);
|
||||
}
|
||||
|
||||
void
|
||||
@ -4145,15 +4145,14 @@ gdk_wayland_surface_restore_shortcuts (GdkSurface *surface,
|
||||
GdkSeat *gdk_seat)
|
||||
{
|
||||
GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
|
||||
struct wl_seat *seat = gdk_wayland_seat_get_wl_seat (gdk_seat);
|
||||
struct zwp_keyboard_shortcuts_inhibitor_v1 *inhibitor;
|
||||
|
||||
inhibitor = gdk_wayland_surface_get_inhibitor (impl, seat);
|
||||
inhibitor = gdk_wayland_surface_get_inhibitor (impl, gdk_seat);
|
||||
if (inhibitor == NULL)
|
||||
return; /* Not inhibitted */
|
||||
|
||||
zwp_keyboard_shortcuts_inhibitor_v1_destroy (inhibitor);
|
||||
g_hash_table_remove (impl->shortcuts_inhibitors, seat);
|
||||
g_hash_table_remove (impl->shortcuts_inhibitors, gdk_seat);
|
||||
}
|
||||
|
||||
GdkSurface *
|
||||
|
Loading…
Reference in New Issue
Block a user