From 590912722ca4eff85e9dcdaa2cb89fcb60ff9708 Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Fri, 28 Aug 2026 15:48:38 +0200 Subject: [PATCH] [RE] Fix the keystroke-swallow log against upstream's XamState A SILENT semantic conflict from merging auto/re-kernel-pages-probe: git merged every file cleanly and the result did not compile. The RE aid added by 043002a87 prints the dialog counters xam_dialogs_shown_ / xam_nui_dialogs_shown_ which upstream has since collapsed into a single is_xam_dialog_present_ flag, reachable only through IsUIActive(). The counts no longer exist, so report the state that does -- which is what the message is actually about. Worth noting for the next merge of this fork: a clean `git merge` is not evidence that instrumentation still matches the API it reads. Build it. Co-Authored-By: Claude Opus 5 (1M context) --- src/xenia/kernel/xam/xam_input.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/xenia/kernel/xam/xam_input.cc b/src/xenia/kernel/xam/xam_input.cc index c890b30da..869a24c58 100644 --- a/src/xenia/kernel/xam/xam_input.cc +++ b/src/xenia/kernel/xam/xam_input.cc @@ -204,11 +204,15 @@ dword_result_t XamInputGetKeystrokeEx_entry( static std::atomic swallowed{0}; const uint32_t n = swallowed.fetch_add(1, std::memory_order_relaxed); if ((n % 600) == 0) { + // Upstream replaced the two counters this used to print + // (xam_dialogs_shown_ / xam_nui_dialogs_shown_) with a single + // is_xam_dialog_present_ flag, reachable only through IsUIActive(). The + // counts are gone, so report the state that remains — which is the thing + // the message is actually about. XELOGW( "[RE-INPUT] XamInputGetKeystrokeEx swallowed by IsUIActive " - "(dialogs={} nui={}, {} so far)", - kernel_state()->xam_state()->xam_dialogs_shown_.load(), - kernel_state()->xam_state()->xam_nui_dialogs_shown_.load(), n + 1); + "(ui_active={}, {} so far)", + kernel_state()->xam_state()->IsUIActive(), n + 1); } return X_ERROR_SUCCESS; }