Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions video/out/wayland_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -2787,6 +2787,13 @@ static void registry_handle_add(void *data, struct wl_registry *reg, uint32_t id
wl->shm = wl_registry_bind(reg, id, &wl_shm_interface, ver);
}

#ifdef WL_FIXES_ACK_GLOBAL_REMOVE
if (!strcmp(interface, wl_fixes_interface.name) && found++) {
ver = MPMIN(ver, 2);
wl->fixes = wl_registry_bind(reg, id, &wl_fixes_interface, ver);
}
#endif

#if HAVE_WAYLAND_PROTOCOLS_1_44
if (!strcmp(interface, wp_color_representation_manager_v1_interface.name) && found++) {
ver = 1;
Expand Down Expand Up @@ -2894,6 +2901,11 @@ static void registry_handle_remove(void *data, struct wl_registry *reg, uint32_t
return;
}
}

#ifdef WL_FIXES_ACK_GLOBAL_REMOVE
if (wl->fixes)
wl_fixes_ack_global_remove(wl->fixes, registry, name);
#endif
}

static const struct wl_registry_listener registry_listener = {
Expand Down
1 change: 1 addition & 0 deletions video/out/wayland_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ struct vo_wayland_state {
struct wl_display *display;
struct wl_registry *registry;
struct wl_shm *shm;
struct wl_fixes *fixes;
struct wl_surface *surface;
struct wl_surface *osd_surface;
struct wl_subsurface *osd_subsurface;
Expand Down
Loading