Skip to content

Commit f51e1cd

Browse files
committed
[Gtk4] Short circuit press/release gestures in Link
If it's handled already don't bother and return.
1 parent 8c053e3 commit f51e1cd

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

  • bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets

bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ private void handlePress(int x, int y) {
375375
redraw(rect.x, rect.y, rect.width, rect.height, false);
376376
}
377377
for (int j = 0; j < offsets.length; j++) {
378-
Rectangle[] rects = getRectanglesInPixels(j);
378+
Rectangle [] rects = getRectanglesInPixels(j);
379379
for (int i = 0; i < rects.length; i++) {
380380
Rectangle rect = rects[i];
381381
if (rect.contains(x, y)) {
@@ -409,6 +409,7 @@ long gtk3_button_release_event (long widget, long event) {
409409
@Override
410410
int gtk_gesture_press_event(long gesture, int n_press, double x, double y, long event) {
411411
int result = super.gtk_gesture_press_event(gesture, n_press, x, y, event);
412+
if (result != GTK4.GTK_EVENT_SEQUENCE_NONE) return result;
412413

413414
if (GTK.gtk_gesture_single_get_current_button(gesture) != 1 || n_press != 1) return result;
414415

@@ -419,6 +420,7 @@ int gtk_gesture_press_event(long gesture, int n_press, double x, double y, long
419420
@Override
420421
int gtk_gesture_release_event(long gesture, int n_press, double x, double y, long event) {
421422
int result = super.gtk_gesture_release_event(gesture, n_press, x, y, event);
423+
if (result != GTK4.GTK_EVENT_SEQUENCE_NONE) return result;
422424
if (focusIndex == -1 || GTK.gtk_gesture_single_get_current_button(gesture) != 1) return result;
423425

424426
handleRelease((int) x, (int) y);

0 commit comments

Comments
 (0)