Commit Graph
80354 Commits
Author SHA1 Message Date
Vadim Zeitlin 49ded50540 Fix sorted wxListBox unit test in wxQt under Unix
Comparison doesn't seem to use locale-specific rules by default there,
so limit the changes of 09c22b080e (Fix listboxtest test failing under
wxQt, 2023-10-08) to Windows and check for the actually observed order
under Unix.

Closes #26759.
2026-07-31 12:45:42 +02:00
Vadim Zeitlin 8b6f8097cf Use base class IsCurrent() in wxUniv wxVListBox
Just make the base class function accessible in this class scope, this
is better than redefining it and doesn't result in a -Wsuggest-override.
2026-07-31 12:45:42 +02:00
Vadim Zeitlin af93e02b18 Add missing "override" to wxGLApp::GetXVisualInfo()
This avoids gcc -Wsuggest-override for it.

Always define GetXVisualInfo() in wxGTK wxApp, even for GTK 3, to ensure
that this virtual function can be overridden in wxGLApp: this is simpler
than overriding it only conditionally there.
2026-07-31 12:45:02 +02:00
Vadim Zeitlin dfa456f17d Turn off gcc -Wsuggest-override for wxDFB headers
There are too many of them and it's probably not worth spending time on
fixing them in this not really used port.
2026-07-31 12:45:02 +02:00
Vadim Zeitlin 8327d92835 Add missing "override" to wxX11 and common headers used by wxUniv
Avoid -Wsuggest-override from gcc.
2026-07-31 12:45:02 +02:00
Vadim Zeitlin c14b35cafd Make wxWindow::KillFocus() private and non-virtual in wxX11
This is not an overridden base class member function, contrary to what
the comment stated.
2026-07-31 12:45:02 +02:00
Steve CornettandVadim Zeitlin d5aacc4712 Make wxTextCtrl dark mode border consistent with light mode
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
Update Documentation / Update Online Documentation (push) Canceled after 0s
For wxTextCtrl, draw a themed border consistent with how the control
looks in light mode, and consistent with the WinUI 3 TextBox control in
dark mode. A blue line appears at the bottom when the control has the
focus.

Closes #26745.
2026-07-30 23:57:16 +02:00
PBandVadim Zeitlin a3d1fef5e6 Use wxIMPLEMENT_APP_CONSOLE() in the archive sample
Replacing wxIMPLEMENT_APP() with wxIMPLEMENT_APP_CONSOLE() allows
building the sample on Windows with CMake with wxWidgets built in
the monolithic configuration.

The archive sample is a console, not GUI, sample and console applications
should use wxIMPLEMENT_APP_CONSOLE() instead of wxIMPLEMENT_APP(). This
matters on Windows when compiling with MSVC and the linker subsystem set
to console.

It can still work when wxUSE_GUI=0 is defined but this is not possible
with wxWidgets monolithic build, where wxUSE_GUI=1 is defined for all
the projects.

Closes #26755.
2026-07-30 19:52:10 +02:00
DanielandVadim Zeitlin 0f8a8d28f4 Fix wxTreeCtrl scrollbar corner colour in wxMSW dark mode
Extract existing code solving the same problem from wxListCtrl code into
a reusable wxMSWImpl::PaintScrollBarCorner() function and use it in
wxTreeCtrl too.

Fixes #26737.

Closes #26743.
2026-07-30 19:29:02 +02:00
Vadim Zeitlin 5e8c5e65d3 Merge branch 'ribbon-colours'
Fix white pressed-button text becoming illegible in dark ribbon themes.

See #26741.
2026-07-30 19:26:19 +02:00
anhnong90andVadim Zeitlin 03f61d05c6 Modernize loops across source files using clang-tidy
Replace index‑based iteration with C++11 range‑based for loops where
appropriate.

Closes #26640.
2026-07-30 19:24:25 +02:00
PBandVadim Zeitlin 780eab36dd Fix a sentence in wxStylusEvent docs
See #26746.
2026-07-30 19:01:50 +02:00
PBandVadim Zeitlin eb543bcf61 Clean up the stylus sample
Prevent the signed/unsigned comparison compiler warning.

Remove the unused header.

Make the sample follow the wxWidgets coding style standards.

Fix the stylus sample in MSVS samples solutions.

Closes #26746.
2026-07-30 19:01:25 +02:00
Vadim Zeitlin 09d9aeacaa Remove implicit conversion of wxColour to GdkRGBA* in wxGTK
This was dangerous because it allowed the code accidentally
dereferencing wxColour to silently compile -- and do a completely wrong
thing.

Just add a function returning GdkRGBA explicitly and use it.

See #26751.
2026-07-30 18:59:47 +02:00
Scott TalbertandVadim Zeitlin aad79cbf7e Fix wxList::std test on big endian systems
Closes #26748.
2026-07-29 20:14:18 +02:00
Vadim Zeitlin 4f31802694 Use SHA-256 checksums for the release files instead of SHA-1 ones
GitHub automatically computes and shows SHA-256 checksums on the
download page, making verifying them more convenient than SHA-1 ones.

SHA-1 is also generally considered insecure nowadays.

See #26744.
2026-07-29 20:14:18 +02:00
Paul Cornett 74ea434841 Add a function to perform internal processing of wxSysColourChangedEvent
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
This avoids the chronic problem of wxSysColourChangedEvent handlers
inadvertently failing to call Skip() and thus blocking important internal
processing, including propagating to child windows.
2026-07-29 10:56:59 -07:00
Vadim Zeitlin 75a9282598 Fix typo in wxGetContrastingFgColour()
The code dereferencing wxColour wrongly compiled when using wxGTK due to
the existence of operator*() there.
2026-07-29 19:47:29 +02:00
Vadim Zeitlin c4fe911d19 Link to the current WCAG21 instead of the old 2008 version
Also update the coefficient in wxGetSRGB() to use the correct value,
quoting the linked document:

	Note 2

	Before May 2021 the value of 0.04045 in the definition was
	different (0.03928). It was taken from an older version of the
	specification and has been updated. It has no practical effect
	on the calculations in the context of these guidelines.
2026-07-29 19:36:29 +02:00
Vadim Zeitlin 08ae56c96d Extract colour-related functions to a reusable header
Don't duplicate the same code using different names in wxAUI and
wxRibbon, put it in a header which can be included from both.

No real changes, this is a pure refactoring.
2026-07-29 19:33:42 +02:00
Blake-Madden d20d50bfbe Use proper contrast calculation to pick pressed-button label colour
Uses calculations from AUI.
2026-07-29 08:14:25 -04:00
Blake-Madden f2685a36e1 Fix white pressed-button text becoming illegible in dark ribbon themes
Also, refactors duplicate ternary code.
2026-07-26 09:58:36 -04:00
Vadim Zeitlin 0268bc21d1 Update all actions versions in "Create Release" workflow
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
Update Documentation / Update Online Documentation (push) Canceled after 0s
Use the newest versions of all actions used here.
2026-07-26 13:59:37 +02:00
Vadim Zeitlin 949a4f9fab Merge branch 'fix-doxygen-custom-html'
Fix errors in HTML generated by Doxygen.

See #26714.

Closes #26716, #26718.
2026-07-26 13:58:16 +02:00
PBandVadim Zeitlin d35f172262 Update wxApp::SetAppearance() docs
Update the MSW-related parts after d7d94f9 (Support explicit
switching both to and from dark mode in wxMSW, 2026-07-24).

Closes #26739.

Co-authored-by: Vadim Zeitlin <vadim@wxwidgets.org>
2026-07-26 13:56:52 +02:00
Vadim Zeitlin 965bc69900 Show scroll buttons in wxAuiNotebook when they're needed
The check for whether these buttons are needed incorrectly compared the
width required by tabs with the total rectangle width, but it needs to
compare it with the width actually available for the tabs, which can be
smaller if other buttons are shown.

Closes #26738.
2026-07-25 17:24:29 +02:00
Steve CornettandVadim Zeitlin a4bedd7396 Fix wxChoice scroll bar after switching to light mode in wxMSW
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
Update Documentation / Update Online Documentation (push) Canceled after 0s
Fix wxChoice drop-down list scroll bar when switching to light mode by
using "DarkMode_DarkTheme" only for dark mode. Use "Explorer" for light
mode.

Closes #26736.
2026-07-24 23:41:59 +02:00
Vadim Zeitlin c831744802 Make wxApp::MSWEnableDarkMode() first parameter an enum
It was int because the initial plan was to add other flags that could be
combined with the existing ones, but now that there are 3 possible
values combining the elements of this enum doesn't really make sense any
more.
2026-07-24 23:38:15 +02:00
Steve CornettandVadim Zeitlin d7d94f918d Support explicit switching both to and from dark mode in wxMSW
With these changes, wxApp::SetAppearance() and
wxApp::MSWEnableDarkMode() can change the dark/light mode at any time.
They can be called before or after windows are created, and can be
called more than once.

The widgets sample has new menu commands to demonstrate this.

Closes #26734.
2026-07-24 23:31:50 +02:00
Vadim Zeitlin e7b0508792 Prefer to test for X11_FOUND rather than its opposite
No real changes, just make the test added in the parent commit a bit
more readable.

See #26733.
2026-07-24 17:29:31 +02:00
Carlo BraminiandVadim Zeitlin 70ec9f5b3c Cmake: Don't use X11 session manager when X11 is not used
Don't even check for libSM when X11 is not used.

Fixes #26691.

Closes #26733.
2026-07-24 17:27:36 +02:00
Vadim Zeitlin 342418a1af Skip Window::ContextHelpCaptureLost test in Mac CI workflows
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
All attempts to make it pass reliably failed, the changes of 95a47a88a9
(Make Window::Refresh test more robust under Mac, 2026-07-23) fixed it
in one Mac workflow but somehow not the other.

Just disable it to let the test suite pass again.

See #26726, #26674.
2026-07-24 13:56:38 +02:00
Steve CornettandVadim Zeitlin 2e982a1b67 Fix dark mode title bar for Windows 10 1909 and 1903 in wxMSW
This change essentially reverts ffeeb612cd (Remove not needed code for
dark mode support under Windows 1809, 2026-06-26). The value of
DWMWA_USE_IMMERSIVE_DARK_MODE changed in Windows 10 v2004, but we
support dark mode on v1903 and later and we still need to use the old
attribute value in this version and v1909.

Closes #26732.
2026-07-24 13:56:29 +02:00
Vadim Zeitlin 8003fd68a4 Fix Window::Refresh unit test under wxGTK now
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
This was broken by 95a47a88a9 (Make Window::Refresh test more robust
under Mac, 2026-07-23).
2026-07-24 01:16:13 +02:00
s-murphreeandVadim Zeitlin 442cca7aaf Don't refresh parent window in wxMSW wxStaticBitmap::SetBitmap()
Commit 9d17d5c376 (Simplify and fix again wxStaticBitmap auto-resizing
in wxMSW, 2019-08-24) wrongly used the rectangle returned by
wxGetWindowRect(), which returns screen coordinates, as parameters to
::InvalidateRect() which requires client coordinates.

This could result in invalidating part of the parent window when
changing the bitmap.

Fix this by passing the correct coordinates to ::InvalidateRect().

Closes #26730.
2026-07-23 23:48:32 +02:00
Steve CornettandVadim Zeitlin 58dfc19c96 Fix wxGrid handling of system color change
Fix wxGrid for system color change for colors that were assigned
defaults in Init(), and therefore did not update. These colors are
now determined as needed during drawing.

The grid sample "Colours" menu gets additional commands so you can set
all these colors.

Closes #26729.
2026-07-23 23:47:12 +02:00
Vadim Zeitlin 95a47a88a9 Make Window::Refresh test more robust under Mac
Fix CI test failure which started happening in this test after the
addition of Window::ContextHelpCaptureLost in e04e3260fc (Handle
context-help mouse capture loss, 2026-07-08) because the child window
that was not supposed to be repainted still was, as the entire window
needed a refresh.

Refresh and update it before starting the test to make it pass again
reliably.

See #26726.
2026-07-23 23:44:12 +02:00
ali kettabandVadim Zeitlin 616675c0c8 Don't hang forever inside wxContextHelp::EventLoop() under wxQt
Test for Pending() events is unreliable under wxQt, and the function has
been changed to return false unconditionally in 1284b2c427 (wxQt: Make
wxEventLoop::Pending() return false unconditionally and document that,
2025-03-02).

Closes #26726.
2026-07-23 23:39:00 +02:00
Steve CornettandVadim Zeitlin 5ec278eb4d Fix wxBitmapComboBox for system color change
Remove an unnecessary SetBackgroundColour() to allow system color
change events to take effect. The default background color is already
correct.

Closes #26721.
2026-07-23 23:35:48 +02:00
Steve CornettandVadim Zeitlin fbbeb21d8f Update wxGenericFontButton when system colours change
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
Update the button text colour of this button, used by wxFontPickerCtrl
under Windows, upon system colour change event (which also covers
switching between light and dark appearances), unless the user selected
a colour.

Closes #26667.
2026-07-22 00:14:39 +02:00
RichardandVadim Zeitlin 06fee4f067 Return generic icon location for .exe file types in wxMSW
Handle executable DefaultIcon values such as %1/%L by asking the
shell for an icon location and falling back to the stock application
icon when SHGetFileInfo() does not provide a file/index location.

Add a base test covering the .exe icon location path.

Fixes #21794.

Closes #26673.
2026-07-22 00:10:18 +02:00
Vadim Zeitlin 6699441ba2 Fix invalid HTML generated by Doxygen for "@c" inside "@itemdef"
This results in <span><code>...</span></code> being generated which is
obviously wrong.

Use <code> instead of @c to work around this Doxygen bug.

Closes #26719.
2026-07-22 00:00:33 +02:00
Yannick DuchêneandVadim Zeitlin 0a10934e20 Fix HTML generated by custom "appearance" and related aliases
Use \htmlonly[block] which -- contrary to what Doxygen documentation
says -- does _not_ insert the extra <p> tags which made the generated
HTML invalid unlike plain \htmlonly.

Closes #26717.
2026-07-21 23:51:53 +02:00
Vadim Zeitlin 6a7b644a95 Quote "target" attribute value everywhere for consistency
No real changes, just consistently use target="_blank".
2026-07-21 20:35:22 +02:00
Vadim Zeitlin 0a5a0f635b Use standard "_blank" target in HTML instead of "_new"
No real changes as browsers seem to handle "_new" as "_blank" anyhow,
but use the standard-compliant value of the "target" attribute.
2026-07-21 20:33:33 +02:00
RichardandVadim Zeitlin 5d0a9f3a43 Fix wxHTML nested definition-list indentation
Track the active DL nesting depth while parsing definition lists and
use it when indenting DD content, so nested definition lists are laid
out deeper than their parent item. Add parser coverage and a sample
case for the old nested DL repro.

Fixes #20752.

Closes #26676.
2026-07-21 18:56:15 +02:00
Vadim Zeitlin 28dc69f8bd Don't define a test case doing nothing when wxUSE_HELP==0
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
Just don't define this test case at all.

See #26674.
2026-07-21 17:57:29 +02:00
Vadim Zeitlin b59f7b5f22 Delete the window created in ContextHelpCaptureLost test
The changes of e04e3260fc (Handle context-help mouse capture loss,
2026-07-08) added a window which was never deleted and prevented some
subsequent tests from working (strangely enough, apparently only under
Mac).

Use unique_ptr for it to ensure that it is deleted on scope exit.

See #26674.
2026-07-21 17:56:07 +02:00
Scott TalbertandVadim Zeitlin f9ffb1bc82 Update Unicode mapping tables to current versions
The primary motivation for this is to resolve a licensing issue with
these files (the files have been relicensed with a Debian-approved
license), but there were a few minor fixes/additions since the previous
update.  The generation code/scripts required some modernization to get
it working on a current system, as well as needing to handle the format
of CP866.TXT, which is a bit different than the other files.

Update the whitespace check to exclude these files from it as we prefer
not to modify them to avoid any divergences with the upstream copies
(even trivial ones).

Closes #26700.
2026-07-21 16:01:15 +02:00
Stefan CsomorandVadim Zeitlin 94547e0a53 Fix using multi-format objects in wxDataObjectComposite
Pass the requested format to the actual data object used to handle it in
wxDataObjectComposite member functions as otherwise the information
about the desired format was simply lost, and the element always
returned data in its preferred format which could be different from the
requested one.

This notably fixes using wxTextDataObject with wxDataObjectComposite in
wxOSX, which was broken by the addition of support for a second format
to it in 7148a49c6d (Map wxDF_TEXT to text in UTF-8 encoding in wxOSX,
2026-06-06), see #26565.

Closes #26680.

Closes #26687.
2026-07-21 15:52:04 +02:00