diff -Naur xfce4-panel-4.14.0-orig/plugins/pager/pager.c xfce4-panel-4.14.0/plugins/pager/pager.c --- xfce4-panel-4.14.0-orig/plugins/pager/pager.c 2019-09-04 15:35:31.954681740 +0200 +++ xfce4-panel-4.14.0/plugins/pager/pager.c 2019-09-04 15:39:59.057180601 +0200 @@ -53,8 +53,11 @@ guint prop_id, const GValue *value, GParamSpec *pspec); -static gboolean pager_plugin_scroll_event (GtkWidget *widget, +static gboolean pager_buttons_scroll_event (GtkWidget *widget, GdkEventScroll *event); +static gboolean pager_plugin_scroll_event (GtkWidget *widget, + GdkEventScroll *event, + gpointer user_data); static void pager_plugin_drag_begin_event (GtkWidget *widget, GdkDragContext *context, gpointer user_data); @@ -141,7 +144,7 @@ gobject_class->set_property = pager_plugin_set_property; widget_class = GTK_WIDGET_CLASS (klass); - widget_class->scroll_event = pager_plugin_scroll_event; + widget_class->scroll_event = pager_buttons_scroll_event; widget_class->get_preferred_width = pager_plugin_get_preferred_width; widget_class->get_preferred_width_for_height = pager_plugin_get_preferred_width_for_height; widget_class->get_preferred_height = pager_plugin_get_preferred_height; @@ -318,10 +321,20 @@ static gboolean +pager_buttons_scroll_event (GtkWidget *widget, + GdkEventScroll *event) +{ + pager_plugin_scroll_event(widget, event, XFCE_PAGER_PLUGIN (widget)); +} + + + +static gboolean pager_plugin_scroll_event (GtkWidget *widget, - GdkEventScroll *event) + GdkEventScroll *event, + gpointer user_data) { - PagerPlugin *plugin = XFCE_PAGER_PLUGIN (widget); + PagerPlugin *plugin = user_data; WnckWorkspace *active_ws; WnckWorkspace *new_ws; gint active_n; @@ -445,6 +458,9 @@ G_CALLBACK (pager_plugin_drag_begin_event), plugin); g_signal_connect_after (G_OBJECT (plugin->pager), "drag-end", G_CALLBACK (pager_plugin_drag_end_event), plugin); + /* overwrite default WnckPager widget scroll-event */ + g_signal_connect(G_OBJECT(plugin->pager), "scroll-event", + G_CALLBACK(pager_plugin_scroll_event), plugin); } else {