force sending of mouse button release on xwl drag end
authorMike Blumenkrantz <zmike@osg.samsung.com>
Wed, 12 Aug 2015 19:11:09 +0000 (15:11 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Wed, 12 Aug 2015 19:12:03 +0000 (15:12 -0400)
seems to be necessary for the client to end its drag

src/modules/xwayland/dnd.c

index a320880..a7f51a5 100644 (file)
@@ -92,6 +92,10 @@ _xwayland_drop(E_Drag *drag, int dropped)
 {
    if (e_comp->comp_type != E_PIXMAP_TYPE_WL) return;
    e_comp->wl_comp_data->drag = NULL;
+   if ((!e_comp->wl_comp_data->ptr.ec) ||
+     (wl_resource_get_client(e_comp->wl_comp_data->ptr.ec->comp_data->surface) != e_comp->wl_comp_data->xwl_client))
+     e_comp_wl_evas_handle_mouse_button(e_comp->wl_comp_data->drag_client, 0,
+       e_comp->wl_comp_data->ptr.button, WL_POINTER_BUTTON_STATE_RELEASED);
    if (dropped || e_object_is_del(E_OBJECT(drag)) || (!e_comp->wl_comp_data->selection.target))
      _xdnd_finish(0);
    else