|
|
1ff6c4 |
From c12006de1af0edb5380b0870ffdfe41d4ff153f1 Mon Sep 17 00:00:00 2001
|
|
|
1ff6c4 |
From: Ray Strode <rstrode@redhat.com>
|
|
|
1ff6c4 |
Date: Wed, 6 Mar 2019 16:35:14 -0500
|
|
|
1ff6c4 |
Subject: [PATCH] window-list: drop button grab when leaving button
|
|
|
1ff6c4 |
|
|
|
1ff6c4 |
StButton doesn't always drop its grab, if the user releases the
|
|
|
1ff6c4 |
mouse over the wrong part of the screen.
|
|
|
1ff6c4 |
|
|
|
1ff6c4 |
This commit works around the problem by pretending the user
|
|
|
1ff6c4 |
lift their finger from the mouse as soon as they leave the
|
|
|
1ff6c4 |
boundaries of the button actor.
|
|
|
1ff6c4 |
---
|
|
|
1ff6c4 |
extensions/window-list/extension.js | 6 ++++++
|
|
|
1ff6c4 |
1 file changed, 6 insertions(+)
|
|
|
1ff6c4 |
|
|
|
1ff6c4 |
diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js
|
|
|
1ff6c4 |
index 716a324..af71e91 100644
|
|
|
1ff6c4 |
--- a/extensions/window-list/extension.js
|
|
|
1ff6c4 |
+++ b/extensions/window-list/extension.js
|
|
|
1ff6c4 |
@@ -227,6 +227,7 @@ class BaseButton {
|
|
|
1ff6c4 |
this.actor.connect('allocation-changed',
|
|
|
1ff6c4 |
this._updateIconGeometry.bind(this));
|
|
|
1ff6c4 |
this.actor.connect('clicked', this._onClicked.bind(this));
|
|
|
1ff6c4 |
+ this.actor.connect('leave-event', this._onLeave.bind(this));
|
|
|
1ff6c4 |
this.actor.connect('destroy', this._onDestroy.bind(this));
|
|
|
1ff6c4 |
this.actor.connect('popup-menu', this._onPopupMenu.bind(this));
|
|
|
1ff6c4 |
|
|
|
1ff6c4 |
@@ -261,6 +262,11 @@ class BaseButton {
|
|
|
1ff6c4 |
throw new Error('Not implemented');
|
|
|
1ff6c4 |
}
|
|
|
1ff6c4 |
|
|
|
1ff6c4 |
+ _onLeave(actor, button) {
|
|
|
1ff6c4 |
+ this.actor.fake_release();
|
|
|
1ff6c4 |
+ return Clutter.EVENT_PROPAGATE;
|
|
|
1ff6c4 |
+ }
|
|
|
1ff6c4 |
+
|
|
|
1ff6c4 |
_canOpenPopupMenu() {
|
|
|
1ff6c4 |
return true;
|
|
|
1ff6c4 |
}
|
|
|
1ff6c4 |
--
|
|
|
1ff6c4 |
1.8.3.1
|
|
|
1ff6c4 |
|