st/entry: Only handle primary/secondary icon clicks when reactive

Just like the internal ClutterText, the icon actors are part of the
entry. It therefore makes sense for the icons to not react to clicks
when the entry itself is non-reactive; again, just like the text.

That behavior is also consistent with icons in GTK entries.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3138
This commit is contained in:
Florian Müllner 2020-09-09 20:51:53 +02:00
parent 3029119c9a
commit 76b03647b3

View File

@ -1312,6 +1312,9 @@ _st_entry_icon_clicked_cb (ClutterClickAction *action,
{ {
StEntryPrivate *priv = ST_ENTRY_PRIV (entry); StEntryPrivate *priv = ST_ENTRY_PRIV (entry);
if (!clutter_actor_get_reactive (CLUTTER_ACTOR (entry)))
return;
if (actor == priv->primary_icon) if (actor == priv->primary_icon)
g_signal_emit (entry, entry_signals[PRIMARY_ICON_CLICKED], 0); g_signal_emit (entry, entry_signals[PRIMARY_ICON_CLICKED], 0);
else else