diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-10-16 18:32:42 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-12-04 12:16:56 +0100 |
commit | 9d203ddc0f591140909117252f99bc08e9043bac (patch) | |
tree | 835dbca51b011e3b8b20bf931b5e162f4a8fe0ab | |
parent | 508a13ae72201dbd5db0d32d3935c2a23d9946a6 (diff) | |
download | gnome-shell-9d203ddc0f591140909117252f99bc08e9043bac.tar.gz |
workspace: Keep track of the dragging touch sequence
draggable.startDrag() is called directly here (i.e. manualMode is not set),
we must keep track of the touch event and pass it to startDrag() then.
https://bugzilla.gnome.org/show_bug.cgi?id=756748
-rw-r--r-- | js/ui/workspace.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 467f210f5..bacc75b6d 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -361,6 +361,9 @@ const WindowClone = new Lang.Class({ // a long-press canceled when the pointer movement // exceeds dnd-drag-threshold to manually start the drag if (state == Clutter.LongPressState.CANCEL) { + let event = Clutter.get_current_event(); + this._dragTouchSequence = event.get_event_sequence(); + // A click cancels a long-press before any click handler is // run - make sure to not start a drag in that case Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, @@ -369,7 +372,7 @@ const WindowClone = new Lang.Class({ return; let [x, y] = action.get_coords(); action.release(); - this._draggable.startDrag(x, y, global.get_current_time()); + this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence); })); } return true; |