On button release, we were popping down if the event widget was anything
but priv->button. This broke scrolling by clicking a mouse button, i.e.
when releasing a click in the trough or finishing a drag of either bar.
That’s unexpected, inconvenient, and pointless. So, let’s stop doing it.
https://bugzilla.gnome.org/show_bug.cgi?id=738893
if (ewidget != priv->tree_view)
{
+ GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW (priv->scrolled_window);
+
if (ewidget == priv->button &&
!popup_in_progress &&
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->button)))
{
gtk_combo_box_popdown (combo_box);
+
return TRUE;
}
- /* released outside treeview */
- if (ewidget != priv->button)
+ /* If released outside treeview, pop down, unless finishing a scroll */
+ if (ewidget != priv->button &&
+ ewidget != gtk_scrolled_window_get_hscrollbar (scrolled_window) &&
+ ewidget != gtk_scrolled_window_get_vscrollbar (scrolled_window))
{
gtk_combo_box_popdown (combo_box);