[gnome-shell] workspace: Remove Long-press later with the actor
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspace: Remove Long-press later with the actor
- Date: Mon, 9 Sep 2019 19:38:05 +0000 (UTC)
commit e53443daf903fe3434b0471582e40f0fbd369a25
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date: Fri Jul 12 13:53:33 2019 +0200
workspace: Remove Long-press later with the actor
Ensure that the long-press later is removed with the actor, otherwise
it will try to use invalidated data.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/700
js/ui/workspace.js | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 95369997a0..f0951a63df 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -354,6 +354,11 @@ var WindowClone = GObject.registerClass({
this.metaWindow._delegate = null;
this._delegate = null;
+ if (this._longPressLater) {
+ Meta.later_remove(this._longPressLater);
+ delete this._longPressLater;
+ }
+
if (this.inDrag) {
this.emit('drag-end');
this.inDrag = false;
@@ -388,9 +393,13 @@ var WindowClone = GObject.registerClass({
let event = Clutter.get_current_event();
this._dragTouchSequence = event.get_event_sequence();
+ if (this._longPressLater)
+ return true;
+
// 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, () => {
+ this._longPressLater = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
+ delete this._longPressLater;
if (this._selected)
return;
let [x, y] = action.get_coords();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]