wayland: Get the data device during input device setup

The data device is a associated with the input device - fetch the data device
from the data manager for the current input device.
This commit is contained in:
Rob Bradford
2011-12-12 14:26:27 +00:00
parent aea95c8efc
commit b165c1bac8

View File

@ -52,6 +52,7 @@ struct _GdkWaylandDevice
GdkWindow *pointer_focus;
GdkWindow *keyboard_focus;
struct wl_input_device *device;
struct wl_data_device *data_device;
int32_t x, y, surface_x, surface_y;
uint32_t time;
};
@ -600,12 +601,14 @@ _gdk_wayland_device_manager_add_device (GdkDeviceManager *device_manager,
struct wl_input_device *wl_device)
{
GdkDisplay *display;
GdkDisplayWayland *display_wayland;
GdkDeviceManagerCore *device_manager_core =
GDK_DEVICE_MANAGER_CORE(device_manager);
GdkWaylandDevice *device;
device = g_new0 (GdkWaylandDevice, 1);
display = gdk_device_manager_get_display (device_manager);
display_wayland = GDK_DISPLAY_WAYLAND (display);
device->display = display;
device->pointer = g_object_new (GDK_TYPE_DEVICE_CORE,
@ -635,6 +638,10 @@ _gdk_wayland_device_manager_add_device (GdkDeviceManager *device_manager,
wl_input_device_add_listener(device->device,
&input_device_listener, device);
device->data_device =
wl_data_device_manager_get_data_device (display_wayland->data_device_manager,
device->device);
device_manager_core->devices =
g_list_prepend (device_manager_core->devices, device->keyboard);
device_manager_core->devices =