From eb0adeeed1754d7c786b29f63f869bd9e15efd62 Mon Sep 17 00:00:00 2001 From: DualFroz Date: Wed, 14 Oct 2026 18:04:22 +0200 Subject: [PATCH] st-button.c: Don't rely on hover state to accept clicks When a button is pressed and the pointer is dragged onto another button, the second button's enter event goes to the grabbing button, so its hover state stays false and later clicks on it are ignored. Check whether the release event's source is inside the button instead. Fixes #14019 --- src/st/st-button.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/st/st-button.c b/src/st/st-button.c index 608047a..0ba4efb 100644 --- a/src/st/st-button.c +++ b/src/st/st-button.c @@ -192,7 +192,7 @@ st_button_button_release (ClutterActor *actor, { gboolean is_click; - is_click = button->priv->grabbed && st_widget_get_hover (ST_WIDGET (button)); + is_click = button->priv->grabbed && clutter_actor_contains (actor, event->source); st_button_release (button, mask, is_click ? event->button : 0); button->priv->grabbed &= ~mask;