Hi everyone! This issue appeared at gnome discourse community first, but I couldn't get any response so considered asking it here.
Gtk4 version: 0.5.1
use gtk::prelude::*;
use gtk::{Button, Application, ApplicationWindow, GestureClick};
fn main() {
let app = Application::builder().application_id("org.reo.testingit").build();
app.connect_activate(build_ui);
app.run();
}
fn build_ui(app: &Application) {
let b = Button::builder()
.label("Press me")
.build();
let gesture_click = GestureClick::new();
gesture_click.connect_pressed(move |_gesture, _n_press, _x, _y| println!("I'm clicked"));
gesture_click.connect_released(move |_gesture, _n_press, _x, _y| println!("I'm released"));
gesture_click.connect_stopped(move |_a| println!("I'm gone."));
b.add_controller(&gesture_click);
let window = ApplicationWindow::builder()
.application(app)
.title("testing")
.child(&b)
.build();
window.present();
}
Outputs:
I'm clicked
I'm gone.
As you can see, there's no release signal, the stopped signal is sent and nothing happens when you click it again. You can test this on your machine. Tested in a pure cargo project with gtk4 0.5.1 version.
Original Post in Gnome Community: GtkGestureClick doesn't send release signal and stops after a click - #2 by ramazanemreosmanoglu - Language bindings - GNOME Discourse