system: Emulate click action button release
Since commit 2c070d38
, we add a ClickAction to the visible AltSwitcher
button to track long-presses. As a result, we now have two components
that will grab and ungrab the pointer for the button, so to make sure
we don't end up with a stuck grab, we need to release the second's
component grab when the first activates.
Currently we only drop the StButton grab on long-press, we also need
to cancel any initiated long-press on click.
https://bugzilla.gnome.org/show_bug.cgi?id=781738
This commit is contained in:
parent
a782de6e06
commit
2339c39ae6
@ -42,9 +42,15 @@ const AltSwitcher = new Lang.Class({
|
||||
_init: function(standard, alternate) {
|
||||
this._standard = standard;
|
||||
this._standard.connect('notify::visible', Lang.bind(this, this._sync));
|
||||
if (this._standard instanceof St.Button)
|
||||
this._standard.connect('clicked',
|
||||
() => { this._clickAction.release(); });
|
||||
|
||||
this._alternate = alternate;
|
||||
this._alternate.connect('notify::visible', Lang.bind(this, this._sync));
|
||||
if (this._alternate instanceof St.Button)
|
||||
this._alternate.connect('clicked',
|
||||
() => { this._clickAction.release(); });
|
||||
|
||||
this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user