[gnome-shell/wip/carlosg/no-event-source: 1/8] grabHelper: Query stage for target actor instead of event.get_source()
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/no-event-source: 1/8] grabHelper: Query stage for target actor instead of event.get_source()
- Date: Wed, 2 Mar 2022 11:20:55 +0000 (UTC)
commit a30e71ec237fb963f4f0b34da104a27af4b802d4
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Feb 25 13:07:49 2022 +0100
grabHelper: Query stage for target actor instead of event.get_source()
Events are going to stop containing the destinatary, so stop using this
API. Querying the stage is equivalent and ensured to be up-to-date.
js/ui/grabHelper.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/grabHelper.js b/js/ui/grabHelper.js
index a46bab0fa9..af4641014a 100644
--- a/js/ui/grabHelper.js
+++ b/js/ui/grabHelper.js
@@ -265,9 +265,11 @@ var GrabHelper = class GrabHelper {
return Clutter.EVENT_PROPAGATE;
}
+ const targetActor = global.stage.get_event_actor(event);
+
if (type === Clutter.EventType.ENTER ||
type === Clutter.EventType.LEAVE ||
- this.currentGrab.actor.contains(event.get_source()))
+ this.currentGrab.actor.contains(targetActor))
return Clutter.EVENT_PROPAGATE;
if (Main.keyboard.shouldTakeEvent(event))
@@ -279,7 +281,7 @@ var GrabHelper = class GrabHelper {
if (press || touchBegin)
this._ignoreUntilRelease = true;
- let i = this._actorInGrabStack(event.get_source()) + 1;
+ let i = this._actorInGrabStack(targetActor) + 1;
this.ungrab({ actor: this._grabStack[i].actor, isUser: true });
return Clutter.EVENT_STOP;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]