This is an automated email from the git hooks/post-receive script. eric pushed a commit to branch master in repository xfce/xfdesktop.
commit 58c9309e5364e2b06d94def4324c2ed7d2b455d5 Author: Eric Koegel <eric.koe...@gmail.com> Date: Wed Apr 19 16:47:18 2017 +0300 Fix double menu popup When right clicking on an icon, the button release event gets called twice and was popping up the menu twice. --- src/xfce-desktop.c | 15 ++++++++------- src/xfdesktop-icon-view.c | 5 +++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/xfce-desktop.c b/src/xfce-desktop.c index f1047d3..fd95ffd 100644 --- a/src/xfce-desktop.c +++ b/src/xfce-desktop.c @@ -1184,7 +1184,7 @@ xfce_desktop_button_press_event(GtkWidget *w, guint state = evt->state; XfceDesktop *desktop = XFCE_DESKTOP(w); - TRACE("entering"); + DBG("entering"); g_return_val_if_fail(XFCE_IS_DESKTOP(w), FALSE); @@ -1196,11 +1196,12 @@ xfce_desktop_button_press_event(GtkWidget *w, return FALSE; #endif /* no icons on the desktop, grab the focus and pop up the menu */ - if(!gtk_widget_has_grab(w)) + if(!gtk_widget_has_grab(w)) { gtk_grab_add(w); xfce_desktop_popup_root_menu(desktop, button, evt->time); return TRUE; + } } else if(button == 2 || (button == 1 && (state & GDK_SHIFT_MASK) && (state & GDK_CONTROL_MASK))) { @@ -1220,7 +1221,7 @@ static gboolean xfce_desktop_button_release_event(GtkWidget *w, GdkEventButton *evt) { - TRACE("entering"); + DBG("entering"); gtk_grab_remove(w); @@ -1235,7 +1236,7 @@ xfce_desktop_popup_menu(GtkWidget *w) GdkEventButton *evt; guint button, etime; - TRACE("entering"); + DBG("entering"); evt = (GdkEventButton *)gtk_get_current_event(); if(evt && GDK_BUTTON_PRESS == evt->type) { @@ -1710,7 +1711,7 @@ xfce_desktop_do_menu_popup(XfceDesktop *desktop, GtkWidget *menu; GList *menu_children; - TRACE("entering"); + DBG("entering"); if(gtk_widget_has_screen(GTK_WIDGET(desktop))) screen = gtk_widget_get_screen(GTK_WIDGET(desktop)); @@ -1751,7 +1752,7 @@ xfce_desktop_popup_root_menu(XfceDesktop *desktop, guint button, guint activate_time) { - TRACE("entering"); + DBG("entering"); xfce_desktop_do_menu_popup(desktop, button, activate_time, signals[SIG_POPULATE_ROOT_MENU]); @@ -1763,7 +1764,7 @@ xfce_desktop_popup_secondary_root_menu(XfceDesktop *desktop, guint button, guint activate_time) { - TRACE("entering"); + DBG("entering"); xfce_desktop_do_menu_popup(desktop, button, activate_time, signals[SIG_POPULATE_SECONDARY_ROOT_MENU]); diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c index 239441a..a504302 100644 --- a/src/xfdesktop-icon-view.c +++ b/src/xfdesktop-icon-view.c @@ -917,7 +917,7 @@ xfdesktop_icon_view_button_press(GtkWidget *widget, g_signal_emit(G_OBJECT(icon_view), __signals[SIG_ICON_ACTIVATED], 0, NULL); xfdesktop_icon_activated(icon); - //xfdesktop_icon_view_unselect_item(icon_view, icon); + xfdesktop_icon_view_unselect_all(icon_view); } } @@ -1001,7 +1001,8 @@ xfdesktop_icon_view_button_release(GtkWidget *widget, if((evt->button == 3 || (evt->button == 1 && (evt->state & GDK_SHIFT_MASK))) && icon_view->priv->definitely_dragging == FALSE && - icon_view->priv->definitely_rubber_banding == FALSE) + icon_view->priv->definitely_rubber_banding == FALSE && + icon_view->priv->maybe_begin_drag == TRUE) { /* If we're in single click mode we may already have the icon, don't * find it again. */ -- 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