From b9e17bc924045624184d5e4cdaac2dd6175d07f2 Mon Sep 17 00:00:00 2001 From: Martin Corino Date: Thu, 6 Aug 2026 16:39:38 +0200 Subject: [PATCH 1/5] ignore (seemingly) removed method --- rakelib/lib/director/panel.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rakelib/lib/director/panel.rb b/rakelib/lib/director/panel.rb index 67fb2ba4..ec0598f9 100644 --- a/rakelib/lib/director/panel.rb +++ b/rakelib/lib/director/panel.rb @@ -17,6 +17,9 @@ class Panel < Window def setup super spec.no_proxy 'wxPanel::Layout' + if Config.instance.wx_version_check('3.3.4') >= 0 + spec.ignore 'wxPanel::OnSysColourChanged' + end end end # class Panel From 8522f3e10b2a2c9134f9cc262e6fb12e0f16743c Mon Sep 17 00:00:00 2001 From: Martin Corino Date: Thu, 6 Aug 2026 16:45:43 +0200 Subject: [PATCH 2/5] selectively ignore MSW-only enum --- rakelib/lib/director/app.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rakelib/lib/director/app.rb b/rakelib/lib/director/app.rb index 0c709762..f0765433 100644 --- a/rakelib/lib/director/app.rb +++ b/rakelib/lib/director/app.rb @@ -24,6 +24,9 @@ def setup # wxDarkModeSettings does has have virt dtor; it's just not documented spec.suppress_warning(514, 'wxDarkModeSettings') end + if Config.instance.wx_version_check('3.3.4') >= 0 + spec.ignore_unless('WXMSW', 'wxApp::DarkMode') + end end spec.fold_bases('wxApp' => 'wxAppConsole', 'wxAppConsole' => 'wxEventFilter') spec.override_inheritance_chain('wxApp', %w[wxEvtHandler wxObject]) From 904a916b31938c7085f99c8967f84aa8d99edee0 Mon Sep 17 00:00:00 2001 From: Martin Corino Date: Fri, 7 Aug 2026 10:22:23 +0200 Subject: [PATCH 3/5] revert as wxw master has already been updated --- rakelib/lib/director/app.rb | 3 --- rakelib/lib/director/panel.rb | 3 --- 2 files changed, 6 deletions(-) diff --git a/rakelib/lib/director/app.rb b/rakelib/lib/director/app.rb index f0765433..0c709762 100644 --- a/rakelib/lib/director/app.rb +++ b/rakelib/lib/director/app.rb @@ -24,9 +24,6 @@ def setup # wxDarkModeSettings does has have virt dtor; it's just not documented spec.suppress_warning(514, 'wxDarkModeSettings') end - if Config.instance.wx_version_check('3.3.4') >= 0 - spec.ignore_unless('WXMSW', 'wxApp::DarkMode') - end end spec.fold_bases('wxApp' => 'wxAppConsole', 'wxAppConsole' => 'wxEventFilter') spec.override_inheritance_chain('wxApp', %w[wxEvtHandler wxObject]) diff --git a/rakelib/lib/director/panel.rb b/rakelib/lib/director/panel.rb index ec0598f9..67fb2ba4 100644 --- a/rakelib/lib/director/panel.rb +++ b/rakelib/lib/director/panel.rb @@ -17,9 +17,6 @@ class Panel < Window def setup super spec.no_proxy 'wxPanel::Layout' - if Config.instance.wx_version_check('3.3.4') >= 0 - spec.ignore 'wxPanel::OnSysColourChanged' - end end end # class Panel From 98fce5696a6c82ece2cfa1779e43376ea8618163 Mon Sep 17 00:00:00 2001 From: Martin Corino Date: Fri, 7 Aug 2026 10:30:44 +0200 Subject: [PATCH 4/5] customize Wx::App#MSWEnableDarkMode to circumvent enum problem --- rakelib/lib/director/app.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/rakelib/lib/director/app.rb b/rakelib/lib/director/app.rb index 0c709762..adf8a089 100644 --- a/rakelib/lib/director/app.rb +++ b/rakelib/lib/director/app.rb @@ -24,6 +24,17 @@ def setup # wxDarkModeSettings does has have virt dtor; it's just not documented spec.suppress_warning(514, 'wxDarkModeSettings') end + if Config.instance.wx_version_check('3.3.4') >= 0 + if Config.instance.features_set?('WXMSW') + spec.ignore('wxApp::MSWEnableDarkMode', ignore_doc: false) + spec.add_extend_code 'wxApp', <<~__HEREDOC + bool MSWEnableDarkMode(int flags = 0, wxDarkModeSettings* settings = nullptr) + { + return $self->MSWEnableDarkMode(static_cast (flags), settings); + } + __HEREDOC + end + end end spec.fold_bases('wxApp' => 'wxAppConsole', 'wxAppConsole' => 'wxEventFilter') spec.override_inheritance_chain('wxApp', %w[wxEvtHandler wxObject]) From 1240e317417ac8c6f72baf82e279c537408f226d Mon Sep 17 00:00:00 2001 From: Martin Corino Date: Fri, 7 Aug 2026 15:41:42 +0200 Subject: [PATCH 5/5] fix manjaro ci builds --- tools/scripts/docker/setup-manjaro.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/scripts/docker/setup-manjaro.sh b/tools/scripts/docker/setup-manjaro.sh index e25811ae..0c79a1e5 100755 --- a/tools/scripts/docker/setup-manjaro.sh +++ b/tools/scripts/docker/setup-manjaro.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash pacman -Syyu -pacman -q -S --noconfirm --needed pamac-cli -d libxml2 libxml2-legacy +pacman -q -S --noconfirm --needed pamac-cli pacman -q -S --noconfirm glibc which git make gcc autogen automake autoconf pkgconf libyaml xorg-server-xvfb xorg-fonts-75dpi if [ "$1" == "test" ]; then