player screen: Fix event handler closure

This commit is contained in:
Elias Projahn 2021-10-19 11:31:07 +02:00
parent 8fed2d7a18
commit b17ffc5db9

View file

@ -175,25 +175,27 @@ impl Screen<(), ()> for PlayerScreen {
this.handle.backend.pl().clear(); this.handle.backend.pl().clear();
})); }));
event_controller.connect_event(clone!(@weak this => @default-panic, move |_, event| { event_controller.connect_event(
if let Some(event) = event.downcast_ref::<gdk::ButtonEvent>() { clone!(@weak this => @default-return glib::signal::Inhibit(false), move |_, event| {
if event.button() == gdk::BUTTON_PRIMARY { if let Some(event) = event.downcast_ref::<gdk::ButtonEvent>() {
match event.event_type() { if event.button() == gdk::BUTTON_PRIMARY {
gdk::EventType::ButtonPress => { match event.event_type() {
this.seeking.replace(true); gdk::EventType::ButtonPress => {
this.seeking.replace(true);
}
gdk::EventType::ButtonRelease => {
this.handle.backend.pl().seek(this.position.value() as u64);
this.seeking.replace(false);
}
_ => (),
} }
gdk::EventType::ButtonRelease => {
this.handle.backend.pl().seek(this.position.value() as u64);
this.seeking.replace(false);
}
_ => (),
} }
} }
} glib::signal::Inhibit(false)
}),
glib::signal::Inhibit(false) );
}));
position_scale.connect_value_changed(clone!(@weak this => move |_| { position_scale.connect_value_changed(clone!(@weak this => move |_| {
if this.seeking.get() { if this.seeking.get() {