This is an automated email from the git hooks/post-receive script. andrzejr pushed a commit to branch master in repository panel-plugins/xfce4-pulseaudio-plugin.
commit 3d425611c7e5a282250c738184a6566ec2c9ffb9 Author: Andrzej <ndrwr...@gmail.com> Date: Sun Mar 8 03:50:45 2015 +0000 Fixed slider click/drag coordinate errors in Gtk3.14 GdkEvent coordinates should be refer to GdkWindow and indeed in Gtk3.14 that is the case so no extra translation is needed. However, in Gtk3.12, the coordinates refer to the slider widget, even though it has no GdkWindow associated with it. TBC if there is a better way of handling this, but Gtk version checking works well. --- panel-plugin/scalemenuitem.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/panel-plugin/scalemenuitem.c b/panel-plugin/scalemenuitem.c index 581bdf5..5006dde 100644 --- a/panel-plugin/scalemenuitem.c +++ b/panel-plugin/scalemenuitem.c @@ -252,8 +252,14 @@ scale_menu_item_button_press_event (GtkWidget *menuitem, gtk_widget_translate_coordinates (menuitem, priv->scale, event->x, event->y, &x, &y); if (x > 0 && x < alloc.width && y > 0 && y < alloc.height) - gtk_widget_event (priv->scale, - ((GdkEvent *)(void*)(event))); + { +#if !(GTK_CHECK_VERSION (3, 14, 0)) + /* event coordinates are supposed to refer to GdkWindow but for some reason in Gtk+-3.12(?) they refer to the widget */ + event->x = (gdouble) x; + event->y = (gdouble) y; +#endif + gtk_widget_event (priv->scale, (GdkEvent*) event); + } if (!priv->grabbed) { @@ -269,9 +275,15 @@ scale_menu_item_button_release_event (GtkWidget *menuitem, GdkEventButton *event) { ScaleMenuItemPrivate *priv = GET_PRIVATE (menuitem); + gint x, y; TRACE("entering"); +#if !(GTK_CHECK_VERSION (3, 14, 0)) + gtk_widget_translate_coordinates (menuitem, priv->scale, event->x, event->y, &x, &y); + event->x = (gdouble) x; + event->y = (gdouble) y; +#endif gtk_widget_event (priv->scale, (GdkEvent*)event); if (priv->grabbed) @@ -296,9 +308,14 @@ scale_menu_item_motion_notify_event (GtkWidget *menuitem, gtk_widget_get_allocation (priv->scale, &alloc); gtk_widget_translate_coordinates (menuitem, priv->scale, event->x, event->y, &x, &y); - if (priv->grabbed || - (x > 0 && x < alloc.width && y > 0 && y < alloc.height)) - gtk_widget_event (scale, (GdkEvent*) event); + if (x > 0 && x < alloc.width && y > 0 && y < alloc.height) + { +#if !(GTK_CHECK_VERSION (3, 14, 0)) + event->x = (gdouble) x; + event->y = (gdouble) y; +#endif + gtk_widget_event (scale, (GdkEvent*) event); + } return TRUE; } -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits