diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c index bb1166ff0b..47b8cac879 100644 --- a/gdk/wayland/gdkdisplay-wayland.c +++ b/gdk/wayland/gdkdisplay-wayland.c @@ -140,6 +140,10 @@ gdk_display_handle_global(struct wl_display *display, uint32_t id, input = wl_display_bind(display, id, &wl_input_device_interface); _gdk_wayland_device_manager_add_device (gdk_display->device_manager, input); + } else if (strcmp(interface, "wl_data_device_manager") == 0) { + display_wayland->data_device_manager = + wl_display_bind(display, id, + &wl_data_device_manager_interface); } } diff --git a/gdk/wayland/gdkdisplay-wayland.h b/gdk/wayland/gdkdisplay-wayland.h index 88756afbb2..db98824dcc 100644 --- a/gdk/wayland/gdkdisplay-wayland.h +++ b/gdk/wayland/gdkdisplay-wayland.h @@ -76,6 +76,7 @@ struct _GdkDisplayWayland struct wl_shell *shell; struct wl_output *output; struct wl_input_device *input_device; + struct wl_data_device_manager *data_device_manager; GSource *event_source; EGLDisplay egl_display; EGLContext egl_context;