diff options
| author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2012-10-11 14:05:37 +0300 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-10-11 09:46:57 -0400 |
| commit | 0a27ce1fc2b76b5f50451d7e7c76f97a7056615d (patch) | |
| tree | 07c453e07062f93442b830e08d94600871f4dbe1 /src/data-device.c | |
| parent | protocol: fix clarification of input region on drags and pointers (diff) | |
| download | wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.tar wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.tar.gz wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.tar.bz2 wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.tar.lz wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.tar.xz wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.tar.zst wayland-0a27ce1fc2b76b5f50451d7e7c76f97a7056615d.zip | |
data-device: Don't fake an attach event on drag icon surface
Emit a new drag icon signal instead and let the compositor handle the
unmapping of the icon surface.
Diffstat (limited to 'src/data-device.c')
| -rw-r--r-- | src/data-device.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/data-device.c b/src/data-device.c index 82020af..363a90d 100644 --- a/src/data-device.c +++ b/src/data-device.c @@ -228,16 +228,9 @@ drag_grab_motion(struct wl_pointer_grab *grab, static void data_device_end_drag_grab(struct wl_seat *seat) { - struct wl_resource *surface_resource; - struct wl_surface_interface *implementation; - if (seat->drag_surface) { - surface_resource = &seat->drag_surface->resource; - implementation = (struct wl_surface_interface *) - surface_resource->object.implementation; - - implementation->attach(surface_resource->client, - surface_resource, NULL, 0, 0); + seat->drag_surface = NULL; + wl_signal_emit(&seat->drag_icon_signal, NULL); wl_list_remove(&seat->drag_icon_listener.link); } @@ -247,7 +240,6 @@ data_device_end_drag_grab(struct wl_seat *seat) wl_pointer_end_grab(seat->pointer); seat->drag_data_source = NULL; - seat->drag_surface = NULL; seat->drag_client = NULL; } |
