Single click activation should only be done on release and not on press,
otherwise it breaks touch scrolling. Double-click activation still can be
done on press.
This matches the GtkListBox behavior as well.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3345
if (!priv->list_item || priv->list_item->activatable)
{
- if (n_press == 2 || priv->single_click_activate)
+ if (n_press == 2 && !priv->single_click_activate)
{
gtk_widget_activate_action (GTK_WIDGET (self),
"list.activate-item",
{
GtkListItemWidgetPrivate *priv = gtk_list_item_widget_get_instance_private (self);
+ if (priv->single_click_activate)
+ {
+ gtk_widget_activate_action (GTK_WIDGET (self),
+ "list.activate-item",
+ "u",
+ priv->position);
+
+ return;
+ }
+
if (!priv->list_item || priv->list_item->selectable)
{
GdkModifierType state;