From 5337899f3f85a3fda7dfe419db381eaff48112ee Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 17 Aug 2026 10:48:25 +0200 Subject: [PATCH] =?UTF-8?q?fix(ui):=20vitals=20=E2=80=94=20UiVitalsRoot.On?= =?UTF-8?q?Event=20delegates=20to=20the=20UiDatElement=20base?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The press toggle returned false directly, silently swallowing the base class's Click dispatch (OnClick/OnClickAt) for any future controller wiring on a vitals root. Retail's handler falls through to the base listener the same way (@0x004BFC47). No behavior change today — nothing sets OnClick on a vitals root. Co-Authored-By: Claude Fable 5 --- src/AcDream.App/UI/Layout/UiVitalsRoot.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/AcDream.App/UI/Layout/UiVitalsRoot.cs b/src/AcDream.App/UI/Layout/UiVitalsRoot.cs index 429a0560..8afb068c 100644 --- a/src/AcDream.App/UI/Layout/UiVitalsRoot.cs +++ b/src/AcDream.App/UI/Layout/UiVitalsRoot.cs @@ -71,13 +71,13 @@ public sealed class UiVitalsRoot : UiDatElement { // gmVitalsUI::ListenToElementMessage @0x004BFC04: // this->SetState(m_state == HideDetail ? ShowDetail : HideDetail) - // then falls through to the base handler (keep bubbling → false). + // then falls through to the base handler (keep bubbling). TrySetRetailState( ActiveRetailStateId == RetailUiStateIds.HideDetail ? RetailUiStateIds.ShowDetail : RetailUiStateIds.HideDetail); } - return false; + return base.OnEvent(in e); } ///