[gnome-shell/wip/carlosg/grabs-pt2: 16/30] slider: Use Clutter.grab() for implicit grab
- From: Robert Mader <rmader src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/grabs-pt2: 16/30] slider: Use Clutter.grab() for implicit grab
- Date: Fri, 14 Jan 2022 20:52:14 +0000 (UTC)
commit bcd5b3021af04228b75fea621972ed4029dcaea0
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Nov 18 00:00:52 2021 +0100
slider: Use Clutter.grab() for implicit grab
js/ui/slider.js | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
---
diff --git a/js/ui/slider.js b/js/ui/slider.js
index ba3a233f15..bd8f45f6a0 100644
--- a/js/ui/slider.js
+++ b/js/ui/slider.js
@@ -73,10 +73,7 @@ var Slider = GObject.registerClass({
let device = event.get_device();
let sequence = event.get_event_sequence();
- if (sequence != null)
- device.sequence_grab(sequence, this);
- else
- device.grab(this);
+ this._grab = global.stage.grab(this);
this._grabbedDevice = device;
this._grabbedSequence = sequence;
@@ -98,10 +95,10 @@ var Slider = GObject.registerClass({
this._releaseId = 0;
}
- if (this._grabbedSequence != null)
- this._grabbedDevice.sequence_ungrab(this._grabbedSequence);
- else
- this._grabbedDevice.ungrab();
+ if (this._grab) {
+ this._grab.dismiss();
+ this._grab = null;
+ }
this._grabbedSequence = null;
this._grabbedDevice = null;
@@ -128,8 +125,9 @@ var Slider = GObject.registerClass({
event.type() == Clutter.EventType.TOUCH_BEGIN) {
this.startDragging(event);
return Clutter.EVENT_STOP;
- } else if (device.sequence_get_grabbed_actor(sequence) == this) {
- if (event.type() == Clutter.EventType.TOUCH_UPDATE)
+ } else if (this._grabbedSequence &&
+ sequence.get_slot() === this._grabbedSequence.get_slot()) {
+ if (event.type() == Clutter.EventType.TOUCH_UPDATE)
return this._motionEvent(this, event);
else if (event.type() == Clutter.EventType.TOUCH_END)
return this._endDragging();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]