From f8fcc6c577dc9a247de06312c45b22e8c9014c02 Mon Sep 17 00:00:00 2001 From: Fabrice de Gans Date: Sat, 22 Mar 2025 16:02:39 -0700 Subject: [PATCH] Mark `wxEVT_KEY_DOWN` as processed in `wxvbamApp` This prevents wxWidgets from triggering the alert sound on macOS. There should be no side effect from this. Fixes #1384 --- src/wx/wxvbam.cpp | 9 +++++++++ src/wx/wxvbam.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/wx/wxvbam.cpp b/src/wx/wxvbam.cpp index c4fc28ed..242765b9 100644 --- a/src/wx/wxvbam.cpp +++ b/src/wx/wxvbam.cpp @@ -1409,3 +1409,12 @@ int wxvbamApp::FilterEvent(wxEvent& event) return user_input_event.FilterProcessedInput(user_input.value()); } + +bool wxvbamApp::ProcessEvent(wxEvent& event) { + if (event.GetEventType() == wxEVT_KEY_DOWN) { + // Mark the event as processed. This prevents wxWidgets from firing alerts on macOS. + // See https://github.com/wxWidgets/wxWidgets/issues/25262 for details. + return true; + } + return wxApp::ProcessEvent(event); +} diff --git a/src/wx/wxvbam.h b/src/wx/wxvbam.h index be39204c..d343425d 100644 --- a/src/wx/wxvbam.h +++ b/src/wx/wxvbam.h @@ -84,6 +84,7 @@ public: return false; } } + bool ProcessEvent(wxEvent& event) final; wxString GetConfigDir(); wxString GetDataDir();