flowbox: don’t select when rubberbanding over nothing
authorErnestas Kulik <ernestask@gnome.org>
Thu, 30 Mar 2017 19:29:57 +0000 (22:29 +0300)
committerErnestas Kulik <ernestask@gnome.org>
Fri, 31 Mar 2017 04:27:05 +0000 (07:27 +0300)
When rubberbanding over an empty area, everything is selected on gesture
end, which is a bit counter-intuitive.

https://bugzilla.gnome.org/show_bug.cgi?id=780735

gtk/gtkflowbox.c

index a6fcd1d877f2acf4ce2b1e5ec28f15797e6c394b..24af73788283e0f7c11228422cc4bdd7407060e9 100644 (file)
@@ -3139,7 +3139,9 @@ gtk_flow_box_drag_gesture_end (GtkGestureDrag *gesture,
       if (!priv->rubberband_extend && !priv->rubberband_modify)
         gtk_flow_box_unselect_all_internal (box);
 
-      gtk_flow_box_select_all_between (box, priv->rubberband_first, priv->rubberband_last, priv->rubberband_modify);
+      if (priv->rubberband_first && priv->rubberband_last)
+        gtk_flow_box_select_all_between (box, priv->rubberband_first, priv->rubberband_last, priv->rubberband_modify);
+
       gtk_flow_box_stop_rubberband (box);
 
       g_signal_emit (box, signals[SELECTED_CHILDREN_CHANGED], 0);