Commit Graph
80166 Commits
Author SHA1 Message Date
Vadim Zeitlin 75284bb8f0 Ensure the window origin is visible after DPI change
Keep the window origin on its display to avoid moving it out of visible
area, which is unexpected and inconvenient.
2026-06-16 20:05:11 +02:00
Vadim Zeitlin 8386a98409 Restrict the new size after DPI change to the display size
wxSizer::GetMinSize() can return a size bigger than the display size,
but we never want to use such size for the window, so ensure that it
fits the display client area.

This also ensures that the window doesn't become bigger than its max
size.
2026-06-16 20:00:59 +02:00
Vadim Zeitlin 0ebc0e51ec Don't scale AUI layout on platforms using DPI-independent pixels
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Disable changes of d32c574141 (Update AUI layout on DPI change,
2026-06-01) for the platforms with wxHAS_DPI_INDEPENDENT_PIXELS, i.e.
wxGTK and wxOSX, because it's not just unnecessary but wrong to scale
layout by DPI scale factor there.
2026-06-16 14:41:51 +02:00
Vadim Zeitlin 6af5df1d43 Check that page inserted in wxAuiNotebook has correct parent
The page isn't shown correctly otherwise (at least in wxMSW) and this
check is consistent with a similar one in wxNotebook.
2026-06-16 14:34:46 +02:00
Paul Cornett eb44efae4b Avoid some -Wzero-as-null-pointer-constant warnings
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
2026-06-15 22:37:00 -07:00
Paul Cornett 05e49a5972 Remove execute permission from source file 2026-06-15 22:29:59 -07:00
Paul Cornett be1274d517 Avoid some -Wcomma warnings 2026-06-15 22:20:39 -07:00
Paul Cornett e69213eca1 Remove declaration for function which was removed
Should have been part of
bf386d99c0 (Simplify wxSplashScreen drawing code, 2026-05-15)
2026-06-15 22:02:57 -07:00
Paul Cornett ecb37e81af Fix drawing of very large bitmaps with GTK3
Creating a Cairo "similar image" surface seems to use a lot of memory for very large
images, resulting in what is probably an out-of-memory condition. Using a plain
image surface allows sizes up to the Cairo limit of 32767x32767 to be handled.
See #25656
2026-06-15 21:59:05 -07:00
Paul Cornett 71f1b8b894 Fix assertion failure in generic animation control
See #26598
2026-06-15 21:41:10 -07:00
dxbjavid 788b458112 Avoid uninitialised palette read in wxXPMDecoder::ReadData()
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
This function allocates the palette r/g/b arrays from the colour count
given in the XPM header but fills them by walking the colour map, so a
malformed file that reuses the same key on more than one colour line
collapses those lines into a single map entry and leaves the tail of the
arrays uninitialised. wxPalette() then copies that uninitialised memory
into the palette later returned by GetPalette(), and in debug builds the
wxASSERT(i == colors_cnt) at the end fires.

Use the actual number of distinct colours in the map as the size for
the arrays and the palette to fix this.

Also add a test loading an XPM triggering this issue.

Closes #26595.
2026-06-16 00:34:15 +02:00
Vadim Zeitlin 753de29cae Merge branch 'darkmode-custom-colour' of github.com:stevecor/wxWidgets
Preserve custom colours upon dark mode switch.

Also remove wxStaticText::MSWSetDarkOrLightMode() as it appears to be
unnecessary.

See #26596.
2026-06-16 00:29:38 +02:00
Steve Cornett 0b6e531bae Remove wxDialogBase::OnSysColourChanged()
This function became unreferenced in 2158f4d798 (moved all wxDialog
event handlers to wxDialogBase to avoid code duplication (sixplication?)
among ports[...], 2006-08-19).

Closes #26594.
2026-06-16 00:25:03 +02:00
songjinandVadim Zeitlin 192eb68e05 Clarify RequestUserAttention() behaviour under wxGTK
Document that this function may not have any effect even though it is
implemented because it also requires run-time support.

Closes #26593.

Co-authored-by: Vadim Zeitlin <vadim@wxwidgets.org>
2026-06-16 00:06:55 +02:00
Maarten Bent a66bf5d897 Disable MinGW thread local workaround in wxTranslations
This has been fixed in MSYS2 MinGW.

Fixes #26195.

Closes #26587.
2026-06-16 00:04:01 +02:00
Blake-Madden 4eb22403a5 Remove plugin interface from test_drawing
This was never used and doesn't seem like it ever will be.

Closes #26568.
2026-06-16 00:02:56 +02:00
Steve Cornett 920b428a4c Remove MSWSetDarkOrLightMode() 2026-06-15 12:59:20 -07:00
Steve Cornett f8363719d4 Preserve wxNotebook custom colours upon dark mode switch 2026-06-15 11:41:53 -07:00
Steve Cornett 4df35f2418 Preserve wxStaticText custom colours upon dark mode switch 2026-06-15 11:41:22 -07:00
Vadim Zeitlin 0af78f6896 Fix active tab index value saved in AUI layout
This value must be the page index, independent of the page current
position in its tab control, but we saved the page position instead.
Get the active page position in the "m_tabs" pseudo tab control which
always stores pages in their addition order to fix this.
2026-06-15 00:37:18 +02:00
Vadim Zeitlin a1e910f517 Use "windows-2022" image for wxQt CI builds using MSVS 2022
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Somehow using "windows-2025" still results in "windows-2025-vs2026"
image being used (GitHub Actions bug?).
2026-06-13 22:25:53 +02:00
Vadim Zeitlin 47945b13b0 Use "windows-2025" image for wxQt builds using MSVS 2022
This MSVS version is not available in "windows-2025-vs2026" image to
which "windows-latest" maps now.
2026-06-13 20:52:51 +02:00
dxbjavid 7ee01fa850 Validate background colour index in wxGIFDecoder::LoadGIF()
Don't set background colour to uninitialized memory contents, just
ignore the invalid index.

Closes #26582.
2026-06-13 20:42:07 +02:00
Vadim Zeitlin fd35f189b6 Merge branch 'msw-dark-taskdlg'
Add dark mode support to wxMSW task dialog-based dialogs.

See #26570.
2026-06-13 20:28:01 +02:00
Steve Cornett 0e60afa604 Preserve wxListCtrl custom colours upon dark mode switch in wxMSW
Avoid overwriting custom colours upon switching into or out of dark
mode.

The text colour is now the same thing as the foreground colour, as with
wxGenericListCtrl.

Closes #26584.
2026-06-13 20:25:33 +02:00
Vadim Zeitlin 5bedad68dd Remove note about wxToolBar::SetDropdownMenu() in dark mode
This remark is obsolete, the problem described by it was fixed by
c301af42f9 (Fix wxMSW toolbar drop down arrow appearance in dark mode,
2024-10-22).
2026-06-13 20:21:58 +02:00
Steve Cornett 29e64673a6 Preserve wxToolBar custom background colour upon dark mode switch
Avoid overwriting wxToolBar custom colours upon switching into or out of
dark mode.

Closes #26581.
2026-06-12 18:44:00 +02:00
Vadim Zeitlin c3c3b70aca Don't say that task dialogs don't support dark mode any more
This limitation is lifted by the changes in this branch.
2026-06-12 18:42:17 +02:00
Arthur Chan aef89c0e87 OSS-Fuzz: Add new fuzzer targets tar operation
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Add a new OSS-Fuzz fuzzer targeting tar operation, mirroring the
existing zip fuzzer.

Closes #26579.

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2026-06-11 23:57:23 +02:00
Steve Cornett 34a29a1599 Fix disabled wxStaticBox text color in dark mode
Ensure that the control is redrawn when it's enabled or disabled and fix
its drawing in dark mode when it is disabled.

Closes #26575.
2026-06-11 23:52:30 +02:00
Vadim Zeitlin 57def0bcdc Merge branch 'darkmode-switching-checkbox' of github.com:stevecor/wxWidgets
Fix dark mode switching for wxCheckBox and wxRadioButton in wxMSW.

See #26572.
2026-06-11 23:50:50 +02:00
Blake-Madden 9f397d5977 Fix repaint artifacts in Edge-based wxWebView
When an Edge-based wxWebView is a child of a more complex control and
that control is hidden and then shown again, artifacts from the old
window will appear in the web view window.

Fix this by forcing a repaint, in a non-trivial way because the native
window optimizes away most attempts to do it, whenever the window is
shown.

Closes #26566.
2026-06-11 23:48:36 +02:00
Blake-Madden 6f24da9068 Avoid events being sent to half-destroyed wxWebViewEdge
Ensure that the control doesn't get any size/focus events while it's
being already destroyed.

See #26566.
2026-06-11 23:47:46 +02:00
Vadim Zeitlin 767e9c8bb9 Fix leak in wxHtmlHelpData::LoadCachedBook() after previous commit
Don't leak wxHtmlHelpDataItem memory, even if the data is invalid.

See #26577.
2026-06-11 23:45:37 +02:00
dxbjavid ebd86dee67 Reject out-of-range parent index in cached help book
LoadCachedBook reads each index entry's parent back-reference straight
from the .cached file and uses it as an index with no check, so a
crafted cached file (which can sit inside a .htb help archive opened
through AddBook) may result in creating a pointer to data outside the
m_index array; that pointer is later dereferenced when the index is
sorted at the end of AddBookParam.

The change rejects the file when parentShift is negative or larger than
the number of index entries loaded so far, matching the existing version
and flags checks just above.

Also add a small test under tests/html that feeds such a cached stream
and confirms it is now refused rather than reading out of bounds.

Closes #26577.
2026-06-11 23:40:20 +02:00
Mohmed abdel-fattah 458549bd18 Draw background of expanded footer area under Windows 11
Fix wrong background appearance under some (newest?) Windows 11 systems.
2026-06-11 23:33:35 +02:00
Mohmed abdel-fattah 357265c281 Apply dark theme to the task dialog scrollbars
They may be shown after expanding the "Details" section if the contents
is big enough and didn't adapt to the dark theme without this change.
2026-06-11 23:30:04 +02:00
Vadim Zeitlin afe8b984a5 Simplify check for null element class
Return early in this case to ensure that the pointer can be used without
any checks in the code below.

No real changes.
2026-06-11 23:23:34 +02:00
Steve Cornett 2d07a1e214 wxMSW: Border handling code cleanup
Remove a useless function and some commented-out code.

Closes #26580.
2026-06-11 23:16:52 +02:00
taler21 4fa5863637 Correct translation of "Del" key in some languages
Use the key name that is used by Windows itself (for example, on its
on-screen keyboard as well as an accelerator in its notepad).

Closes #26576.
2026-06-11 23:12:25 +02:00
Vadim Zeitlin aeef45946c Fix progress dialog background
Pass the dark brush to use in the dialog subclass proc and do not set
the class background brush to avoid it being freed.
2026-06-11 04:14:50 +02:00
Vadim Zeitlin 6132c17059 Add AutoBSTR helper to fix BSTR leaks in task dialog code
Also check that the returned BSTR is non-NULL before using it, as it can
be NULL even if the accessor returned S_OK.
2026-06-11 04:09:12 +02:00
Steve Cornett ad3b42ade6 Add same dark mode support for wxRadioButton 2026-06-10 16:36:11 -07:00
Steve Cornett 04c345d5f8 Enable and disable owner-draw as needed 2026-06-10 16:34:37 -07:00
Steve Cornett a014ea5f56 Use MSWMakeOwnerDrawn() instead of SetForegroundColour() 2026-06-10 09:32:52 -07:00
Steve Cornett de11441324 Fix wxChoice/wxComboBox popup border in MSW dark mode
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
This was broken by 5bd892f7ac (Fix dark mode selection in list controls
in latest Windows 11, 2026-05-31) which styled the entire list as scroll
bar which was wrong.

Use "DarkMode_DarkTheme" instead of "Explorer" to make the list appear
correctly both under Windows 10 and 11.

Closes #26573.

Closes #26574.
2026-06-10 18:01:02 +02:00
ryancog fa884fc074 wxOSX: perform cleanup when applicationWillTerminate: is called
Make wxOSX behaviour more similar to wxMSW and ensure that
wxApp::OnExit() is called even when the application is being shut down
unconditionally.

Closes #26542.
2026-06-10 17:35:20 +02:00
Steve Cornett 8a573dd7e7 Improve handling of the borders in MSW dark mode
For Windows dark mode, draw themed borders instead of translating
wxBORDER_THEME to wxBORDER_SIMPLE. Borders have the same thickness
between light mode and dark mode for consistent alignment and
positioning. See #26529.

In dark mode, the border styles wxBORDER_STATIC, wxBORDER_RAISED and
wxBORDER_SUNKEN are sometimes drawn by the system using light mode
colours. So draw these borders similarly to themed borders, but using
the proper width. There is no attempt to mimic a raised or sunken look.

The WM_NCCALCSIZE and WM_NCPAINT message handling is simplified and
corrected for calculating the border width.

Closes #26571.
2026-06-10 17:33:42 +02:00
Vadim Zeitlin a36ff353aa Take wxWindowMSW parameter in wxUxThemeHandle ctor
We don't need wxUniv wxWindow deriving from wxWindowMSW in that build
configuration here, just wxWindowMSW is enough and avoids the need to
cast wxWindowMSW pointers to wxWindow ones in wxUniv/MSW build.
2026-06-10 17:28:48 +02:00
Steve Cornett 3fc3a33f58 Add wxWindow::MSWGetBorderThickness()
This function is more convenient to use in MSW-specific code than
GetWindowBorderSize() as it returns the size of a single border and so
doesn't require the caller to divide the return value by 2.

No real changes.

See #26571.
2026-06-10 17:22:09 +02:00