|
@@ -55,6 +55,8 @@
|
|
|
#include "primary-selection-unstable-v1-client-protocol.h"
|
|
|
#include "fractional-scale-v1-client-protocol.h"
|
|
|
#include "input-timestamps-unstable-v1-client-protocol.h"
|
|
|
+#include "relative-pointer-unstable-v1-client-protocol.h"
|
|
|
+#include "pointer-constraints-unstable-v1-client-protocol.h"
|
|
|
|
|
|
#ifdef HAVE_LIBDECOR_H
|
|
|
#include <libdecor.h>
|
|
@@ -762,9 +764,9 @@ static void display_handle_global(void *data, struct wl_registry *registry, uint
|
|
|
} else if (SDL_strcmp(interface, "wl_shm") == 0) {
|
|
|
d->shm = wl_registry_bind(registry, id, &wl_shm_interface, 1);
|
|
|
} else if (SDL_strcmp(interface, "zwp_relative_pointer_manager_v1") == 0) {
|
|
|
- Wayland_display_add_relative_pointer_manager(d, id);
|
|
|
+ d->relative_pointer_manager = wl_registry_bind(d->registry, id, &zwp_relative_pointer_manager_v1_interface, 1);
|
|
|
} else if (SDL_strcmp(interface, "zwp_pointer_constraints_v1") == 0) {
|
|
|
- Wayland_display_add_pointer_constraints(d, id);
|
|
|
+ d->pointer_constraints = wl_registry_bind(d->registry, id, &zwp_pointer_constraints_v1_interface, 1);
|
|
|
} else if (SDL_strcmp(interface, "zwp_keyboard_shortcuts_inhibit_manager_v1") == 0) {
|
|
|
d->key_inhibitor_manager = wl_registry_bind(d->registry, id, &zwp_keyboard_shortcuts_inhibit_manager_v1_interface, 1);
|
|
|
} else if (SDL_strcmp(interface, "zwp_idle_inhibit_manager_v1") == 0) {
|
|
@@ -941,8 +943,14 @@ static void Wayland_VideoCleanup(SDL_VideoDevice *_this)
|
|
|
}
|
|
|
|
|
|
Wayland_display_destroy_input(data);
|
|
|
- Wayland_display_destroy_pointer_constraints(data);
|
|
|
- Wayland_display_destroy_relative_pointer_manager(data);
|
|
|
+
|
|
|
+ if (data->pointer_constraints) {
|
|
|
+ zwp_pointer_constraints_v1_destroy(data->pointer_constraints);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (data->relative_pointer_manager) {
|
|
|
+ zwp_relative_pointer_manager_v1_destroy(data->relative_pointer_manager);
|
|
|
+ }
|
|
|
|
|
|
if (data->activation_manager) {
|
|
|
xdg_activation_v1_destroy(data->activation_manager);
|