Skip to content

Commit e3d0d80

Browse files
committed
Avoid conflicts
1 parent ef10f10 commit e3d0d80

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

src/Gestures/GestureTracker.vala

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public class Gala.GestureTracker : Object {
100100
/**
101101
* Backend used if enable_touchpad is called.
102102
*/
103-
private ToucheggBackend touchpad_backend;
103+
private ToucheggBackend? touchpad_backend;
104104

105105
/**
106106
* Pan backend used if enable_pan is called.
@@ -157,9 +157,19 @@ public class Gala.GestureTracker : Object {
157157
public void enable_pan (Clutter.Actor actor, Utils.Size? travel_distances) {
158158
pan_backend = new PanBackend (actor, travel_distances);
159159
pan_backend.on_gesture_detected.connect (gesture_detected);
160-
pan_backend.on_begin.connect (gesture_begin);
160+
pan_backend.on_begin.connect ((percentage, time) => {
161+
gesture_begin (percentage, time);
162+
if (touchpad_backend != null) {
163+
touchpad_backend.ignore_touchscreen = true;
164+
}
165+
});
161166
pan_backend.on_update.connect (gesture_update);
162-
pan_backend.on_end.connect (gesture_end);
167+
pan_backend.on_end.connect ((percentage, time) => {
168+
gesture_end (percentage, time);
169+
if (touchpad_backend != null) {
170+
touchpad_backend.ignore_touchscreen = false;
171+
}
172+
});
163173
}
164174

165175
/**

src/Gestures/ToucheggBackend.vala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public class Gala.ToucheggBackend : Object {
2626
public signal void on_update (double delta, uint64 time);
2727
public signal void on_end (double delta, uint64 time);
2828

29+
public bool ignore_touchscreen { get; set; default = false; }
30+
2931
/**
3032
* Gesture type as returned by the daemon.
3133
*/
@@ -197,6 +199,10 @@ public class Gala.ToucheggBackend : Object {
197199
signal_params.get ("(uudiut)", out type, out direction, out percentage, out fingers,
198200
out performed_on_device_type, out elapsed_time);
199201

202+
if (ignore_touchscreen && performed_on_device_type == TOUCHSCREEN) {
203+
return;
204+
}
205+
200206
var delta = percentage * DELTA_MULTIPLIER;
201207

202208
switch (signal_name) {

0 commit comments

Comments
 (0)