aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/UI')
-rw-r--r--Minecraft.Client/Common/UI/UIScene.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene.cpp b/Minecraft.Client/Common/UI/UIScene.cpp
index 3f204414..d01585cb 100644
--- a/Minecraft.Client/Common/UI/UIScene.cpp
+++ b/Minecraft.Client/Common/UI/UIScene.cpp
@@ -1331,11 +1331,17 @@ bool UIScene::hasRegisteredSubstitutionTexture(const wstring &textureName)
void UIScene::_handleFocusChange(F64 controlId, F64 childId)
{
- m_iFocusControl = (int)controlId;
- m_iFocusChild = (int)childId;
+ int newControl = (int)controlId;
+ int newChild = (int)childId;
- handleFocusChange(controlId, childId);
- ui.PlayUISFX(eSFX_Focus);
+ if (newControl != m_iFocusControl || newChild != m_iFocusChild)
+ {
+ m_iFocusControl = newControl;
+ m_iFocusChild = newChild;
+
+ handleFocusChange(controlId, childId);
+ ui.PlayUISFX(eSFX_Focus);
+ }
}
void UIScene::_handleInitFocus(F64 controlId, F64 childId)