From 79e4a28b4dbde7fc51b851e64d248576cb74ab20 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 10 Dec 2025 20:49:50 +0300 Subject: [PATCH] update uinode hover semantics --- src/graphics/ui/GUI.cpp | 2 +- src/graphics/ui/elements/UINode.cpp | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/graphics/ui/GUI.cpp b/src/graphics/ui/GUI.cpp index 82f798fe4..48408a5a7 100644 --- a/src/graphics/ui/GUI.cpp +++ b/src/graphics/ui/GUI.cpp @@ -135,7 +135,7 @@ void GUI::actMouse(float delta, const CursorState& cursor) { if (this->hover && this->hover != hover) { this->hover->setHover(false); } - if (hover) { + if (hover && hover != this->hover) { hover->setHover(true); int scroll = input.getScroll(); diff --git a/src/graphics/ui/elements/UINode.cpp b/src/graphics/ui/elements/UINode.cpp index f4b4c5cb8..117d394f5 100644 --- a/src/graphics/ui/elements/UINode.cpp +++ b/src/graphics/ui/elements/UINode.cpp @@ -48,14 +48,11 @@ void UINode::setAlign(Align align) { } void UINode::setHover(bool flag) { - if (hover == flag) { - return; - } - hover = flag; actions.notify(flag ? UIAction::MOUSE_ENTER : UIAction::MOUSE_LEAVE, gui); } void UINode::setMouseOver(bool flag) { + hover = flag; actions.notify(flag ? UIAction::MOUSE_OVER : UIAction::MOUSE_OUT, gui); }