summaryrefslogtreecommitdiff
path: root/gdk/wayland
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/wayland')
-rw-r--r--gdk/wayland/gdkdevice-wayland.c3
-rw-r--r--gdk/wayland/gdkdnd-wayland.c7
-rw-r--r--gdk/wayland/gdkprivate-wayland.h3
3 files changed, 9 insertions, 4 deletions
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index db2a695891..dfe62d79e8 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -2983,7 +2983,8 @@ _gdk_wayland_device_manager_add_seat (GdkDeviceManager *device_manager,
seat->data_device =
wl_data_device_manager_get_data_device (display_wayland->data_device_manager,
seat->wl_seat);
- seat->drop_context = _gdk_wayland_drop_context_new (seat->data_device);
+ seat->drop_context = _gdk_wayland_drop_context_new (display,
+ seat->data_device);
wl_data_device_add_listener (seat->data_device,
&data_device_listener, seat);
diff --git a/gdk/wayland/gdkdnd-wayland.c b/gdk/wayland/gdkdnd-wayland.c
index 069828d1af..37e9efa06f 100644
--- a/gdk/wayland/gdkdnd-wayland.c
+++ b/gdk/wayland/gdkdnd-wayland.c
@@ -427,7 +427,7 @@ gdk_wayland_drag_context_action_changed (GdkDragContext *context,
{
GdkCursor *cursor;
- cursor = gdk_drag_get_cursor (action);
+ cursor = gdk_drag_get_cursor (context, action);
gdk_drag_context_set_cursor (context, cursor);
}
@@ -528,6 +528,7 @@ _gdk_wayland_window_drag_begin (GdkWindow *window,
context_wayland = g_object_new (GDK_TYPE_WAYLAND_DRAG_CONTEXT, NULL);
context = GDK_DRAG_CONTEXT (context_wayland);
+ context->display = gdk_window_get_display (window);
context->source_window = g_object_ref (window);
context->is_source = TRUE;
context->targets = g_list_copy (targets);
@@ -552,13 +553,15 @@ _gdk_wayland_window_drag_begin (GdkWindow *window,
}
GdkDragContext *
-_gdk_wayland_drop_context_new (struct wl_data_device *data_device)
+_gdk_wayland_drop_context_new (GdkDisplay *display,
+ struct wl_data_device *data_device)
{
GdkWaylandDragContext *context_wayland;
GdkDragContext *context;
context_wayland = g_object_new (GDK_TYPE_WAYLAND_DRAG_CONTEXT, NULL);
context = GDK_DRAG_CONTEXT (context_wayland);
+ context->display = display;
context->is_source = FALSE;
return context;
diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
index cb2c29a8cb..a94f0417a1 100644
--- a/gdk/wayland/gdkprivate-wayland.h
+++ b/gdk/wayland/gdkprivate-wayland.h
@@ -109,7 +109,8 @@ GdkDragContext *_gdk_wayland_window_drag_begin (GdkWindow *window,
void _gdk_wayland_window_offset_next_wl_buffer (GdkWindow *window,
int x,
int y);
-GdkDragContext * _gdk_wayland_drop_context_new (struct wl_data_device *data_device);
+GdkDragContext * _gdk_wayland_drop_context_new (GdkDisplay *display,
+ struct wl_data_device *data_device);
void _gdk_wayland_drag_context_set_source_window (GdkDragContext *context,
GdkWindow *window);
void _gdk_wayland_drag_context_set_dest_window (GdkDragContext *context,