diff --git a/src/Indicator.vala b/src/Indicator.vala index f572e625..86787edb 100644 --- a/src/Indicator.vala +++ b/src/Indicator.vala @@ -328,14 +328,16 @@ public class Sound.Indicator : Wingpanel.Indicator { display_widget.icon_name = get_volume_icon (volume_control.volume.volume); } - private void on_volume_icon_scroll_event (Gdk.ScrollEvent e) { + private void on_volume_icon_scroll_event (Value event_value) { + unowned var e = (Gdk.ScrollEvent) event_value.peek_pointer (); double dir = 0.0; if (handle_scroll_event (e, out dir)) { handle_change (dir, false); } } - private void on_mic_icon_scroll_event (Gdk.ScrollEvent e) { + private void on_mic_icon_scroll_event (Value event_value) { + unowned var e = (Gdk.ScrollEvent) event_value.peek_pointer (); double dir = 0.0; if (handle_scroll_event (e, out dir)) { handle_change (dir, true); @@ -420,7 +422,8 @@ public class Sound.Indicator : Wingpanel.Indicator { volume_control.mic_volume = mic_adjustment.get_value (); }); - mic_scale.scroll_event.connect_after ((e) => { + mic_scale.scroll_event.connect_after ((event_value) => { + unowned var e = (Gdk.ScrollEvent) event_value.peek_pointer (); double dir = 0.0; if (handle_scroll_event (e, out dir)) { handle_change (dir, true); @@ -443,7 +446,8 @@ public class Sound.Indicator : Wingpanel.Indicator { volume_scale.slider_dropped.connect (play_volume_change_sound); - volume_scale.scroll_event.connect_after ((e) => { + volume_scale.scroll_event.connect_after ((event_value) => { + unowned var e = (Gdk.ScrollEvent) event_value.peek_pointer (); double dir = 0.0; if (handle_scroll_event (e, out dir)) { handle_change (dir, false); diff --git a/src/Widgets/DisplayWidget.vala b/src/Widgets/DisplayWidget.vala index 67815bb7..56c13a46 100644 --- a/src/Widgets/DisplayWidget.vala +++ b/src/Widgets/DisplayWidget.vala @@ -23,8 +23,11 @@ public class Sound.DisplayWidget : Gtk.Box { public bool mic_muted { get; set; } public string icon_name { get; set; } - public signal void volume_scroll_event (Gdk.ScrollEvent e); - public signal void mic_scroll_event (Gdk.ScrollEvent e); + // HACK: Using Gdk.ScrollEvent instead of Value as the type of the parameter + // resulsts build error with valac 0.56.18 + // See https://gitlab.gnome.org/GNOME/vala/-/work_items/1671 + public signal void volume_scroll_event (Value event_value); + public signal void mic_scroll_event (Value event_value); construct { var volume_icon = new Gtk.Image () { @@ -50,7 +53,9 @@ public class Sound.DisplayWidget : Gtk.Box { return Gdk.EVENT_PROPAGATE; } - mic_scroll_event ((Gdk.ScrollEvent) e); + var event_value = Value (typeof (Gdk.ScrollEvent)); + event_value.set_instance (e); + mic_scroll_event (event_value); return Gdk.EVENT_STOP; }); @@ -60,7 +65,9 @@ public class Sound.DisplayWidget : Gtk.Box { return Gdk.EVENT_PROPAGATE; } - volume_scroll_event ((Gdk.ScrollEvent) e); + var event_value = Value (typeof (Gdk.ScrollEvent)); + event_value.set_instance (e); + volume_scroll_event (event_value); return Gdk.EVENT_STOP; }); diff --git a/src/Widgets/Scale.vala b/src/Widgets/Scale.vala index f3259128..e490b076 100644 --- a/src/Widgets/Scale.vala +++ b/src/Widgets/Scale.vala @@ -4,7 +4,10 @@ */ public class Sound.Widgets.Scale : Granite.Bin { - public signal void scroll_event (Gdk.ScrollEvent e); + // HACK: Using Gdk.ScrollEvent instead of Value as the type of the parameter + // resulsts build error with valac 0.56.18 + // See https://gitlab.gnome.org/GNOME/vala/-/work_items/1671 + public signal void scroll_event (Value event_value); public signal void slider_dropped (); public Gtk.Adjustment adjustment { get; construct; } @@ -52,7 +55,9 @@ public class Sound.Widgets.Scale : Granite.Bin { return Gdk.EVENT_PROPAGATE; } - scroll_event ((Gdk.ScrollEvent) e); + var event_value = Value (typeof (Gdk.ScrollEvent)); + event_value.set_instance (e); + scroll_event (event_value); return Gdk.EVENT_STOP; });