80516 Commits
Author SHA1 Message Date
Blake-MaddenandVadim Zeitlin e770350305 Fix wrong margin field used for right edge of menu item rects
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Waiting to run
Unix builds / Ubuntu 26.04 wxGTK UTF-8 (push) Waiting to run
Unix builds / Ubuntu 26.04 wxQt (push) Waiting to run
Unix builds / Ubuntu 26.04 wxX11 (push) Waiting to run
Unix builds / Ubuntu 26.04 wxGTK 2 (push) Waiting to run
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Waiting to run
Unix builds / Ubuntu 20.04 wxGTK gcc 7 static compatible 3.0 (push) Waiting to run
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Waiting to run
Unix builds / Ubuntu 24.04 wxDFB (push) Waiting to run
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Waiting to run
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Waiting to run
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Waiting to run
CMake builds / MSW/MSVC wxMSW (push) Waiting to run
CMake builds / MSW/Clang wxMSW (push) Waiting to run
CMake builds / macOS latest wxOSX Ninja (push) Waiting to run
CMake builds / macOS 14 wxOSX Xcode (push) Waiting to run
CMake builds / macOS 14 wxIOS (push) Waiting to run
CMake builds / MSW/MSVC wxQt 5.15 (push) Waiting to run
CMake builds / MSW/MSVC wxQt 6.10 (push) Waiting to run
Mac builds / wxMac ARM ASAN not compatible (push) Waiting to run
Mac builds / wxMac Universal C++14 (push) Waiting to run
Mac builds / wxiOS Simulator on Silicon Mac (push) Waiting to run
Mac builds / wxiOS (push) Waiting to run
Mac builds / wxMac Intel C++17 (push) Waiting to run
Mac Xcode builds / iOS Simulator static (push) Waiting to run
Mac Xcode builds / macOS dynamic Release (push) Waiting to run
Mac Xcode builds / iOS static Debug (push) Waiting to run
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Waiting to run
MSW builds / wxMSW vs2022 DLL Release x64 (push) Waiting to run
MSW builds / wxMSW vs2022 Debug Win32 (push) Waiting to run
MSW builds / wxMSW vs2022 Release arm64 (push) Waiting to run
MSW builds / wxMSW vs2026 DLL Release x64 (push) Waiting to run
MSW cross-builds / wxMSW 64 bits not compatible (push) Waiting to run
MSW cross-builds / wxMSW/Univ (push) Waiting to run
MSW cross-builds / wxMSW 32 bits (push) Waiting to run
Code Checks / Check Spelling (push) Waiting to run
Code Checks / Check Whitespace (push) Waiting to run
Code Checks / Check Mixed EOL (push) Waiting to run
Code Checks / Check C++ Style (push) Waiting to run
Code Checks / Check All Headers In allheaders.h (push) Waiting to run
Use width, not height, in horizontal direction.

Closes #26842.
2026-08-16 17:20:55 +02:00
Steve CornettandVadim Zeitlin 828b5f87df Fix wxDataViewTreeCtrl expander style switching to light mode
Always apply theme "Explorer" upon switching to light mode, except for
the wxGauge, for which we still need to disable themes.

Closes #26838.
2026-08-16 17:17:30 +02:00
Steve CornettandVadim Zeitlin 4b2826661a Fix dark mode wxDataViewTreeCtrl expander size on DPI change
Do not specify a dark theme in wxRendererXP::GetExpanderSize() because
it may give incorrect result in high DPI: as we only need the size here,
using light theme (which always works) is good enough.

Fixes #26829.

Closes #26837.
2026-08-16 17:13:43 +02:00
Steve CornettandVadim Zeitlin 546966cfc7 Use native dark theme border for wxTextCtrl when possible in wxMSW
Using "DarkMode_DarkTheme" with wxTextCtrl results in a nicely looking
border with real native appearance, so use it when supported and only
fall back to our implementation otherwise.

Closes #26824.
2026-08-16 17:10:02 +02:00
Vadim Zeitlin 53428018e3 Merge branch 'RibbonFixes' of github.com:Blake-Madden/wxWidgets
Various ribbon fixes and improvements, notably don't use dangling or
null pointers.

See #26849.
2026-08-16 17:06:56 +02:00
Blake-Madden f1b668bd7e Add comments about m_current_hovered_page logic 2026-08-16 11:01:44 -04:00
Eduard Ereza MartínezandVadim Zeitlin b37b5933ab Update Catalan translation
Translated all missing strings, fixed some mistranslations and typos,
and updated credits to include previous translators.

Closes #26848.
2026-08-16 16:42:49 +02:00
Blake-Madden db57e36a67 Smarter way to init wxRibbonToolBar 2026-08-16 10:35:46 -04:00
Blake-Madden 486948ced5 Fix dangling tool pointers in ribbon toolbar clear/delete 2026-08-16 10:04:21 -04:00
Blake-Madden b4d93a62c4 Fix wxRibbonToolBar default CTOR to call init helper 2026-08-16 09:56:06 -04:00
Blake-MaddenandVadim Zeitlin 5cd9bab54e Fix WebKitWebContext leaks in WebKit2-based wxGTK wxWebView code
Web context and data manager were being leaked under most circumstances.

Closes #26847.
2026-08-16 15:53:20 +02:00
Blake-Madden d5eccea262 Add pointer checks 2026-08-16 09:53:19 -04:00
Vadim Zeitlin 8ba29d6c12 Merge branch 'EdgeReview3' of github.com:Blake-Madden/wxWidgets
Fix/add null pointer checks in Edge WebView.

See #26843.
2026-08-16 15:51:49 +02:00
Vadim Zeitlin 5e81e9a19e Merge branch 'gen-tree-next-visible'
Fix regression in wxGenericTreeCtrl::GetNextVisible() and some cleanup.

See #26840.
2026-08-16 15:49:23 +02:00
Blake-Madden e93a4906b5 Make art provider buttons in ribbon sample toggle buttons
Will show which art provider is in use.
2026-08-16 09:42:45 -04:00
Blake-Madden 08b63a474f Fix stale hovered page index in buttonbar after page removal 2026-08-16 09:31:49 -04:00
Blake-Madden 39e2be888d Use page height, not width, when scrolling vertical ribbon pages 2026-08-16 09:26:09 -04:00
Blake-Madden a339b9fb02 Clamp current layout index after rebuilding buttonbar layout 2026-08-16 09:21:44 -04:00
Blake-Madden b08a0cc99e Null out button pointers after clearing button collection 2026-08-16 09:13:31 -04:00
Blake-Madden eca8f513ba Don't insert null handler when looking up Edge WebView handlers 2026-08-15 18:27:57 -04:00
Blake-Madden a16ecfeb75 Add more pointer checks
Mostly for consistency with the rest of the file, along with being more overly robust
2026-08-15 17:41:31 -04:00
Blake-Madden 7cc9fd173a Fix incorrect pointer check 2026-08-15 17:25:13 -04:00
Lorenzo SalamiandVadim Zeitlin a6699873f8 wxOSX: fix wxDataViewCustomRenderer cells reading as raw objects
On macOS, wxUSE_ACCESSIBILITY (the generic wxAccessible layer) is unused:
Cocoa's dataview implementation relies entirely on native NSAccessibility,
and had no code at all describing custom-rendered cells to it. Both
VoiceOver and the ordinary tooltip mechanism fell back to NSObject's
default -description on the private wxCustomRendererObject value holder,
announcing/showing literally "<wxCustomRendererObject: 0x...>" instead of
the cell's actual content.

Add wxDataViewCustomRendererBase::GetAccessibleText() which is always
available in wxOSX that stringifies the renderer's current value, with
explicit handling for wxDataViewIconText (the common case of an
icon-plus-text custom renderer) since wxVariant::MakeString() doesn't
know that type. Also improve the existing GetAccessibleText()
implementation in the generic version by adding specific support for
wxDataViewIconText to it too.

Surface it on macOS via an -description override on wxCustomRendererObject,
which both NSCell's default stringification and the accessibility bridge
already consult for non-string objectValues.

Verified against a live app (aMule) with a real accessibility inspector
(pyobjc/ApplicationServices AXUIElement queries, the same API Accessibility
Inspector uses): custom-rendered cells now report their real text instead
of the debug representation, confirmed via 5 rounds of AX-tree hammering
with zero crashes. Also verified against samples/dataview with a custom
renderer using the same wxDataViewIconText round-trip.

Closes #18723.

Closes #26808.

Closes #26809.
2026-08-15 21:07:36 +02:00
Vadim Zeitlin 6e13216510 Remove unused code from wxGenericTreeCtrl::IsVisible()
There is no need to call GetViewStart() whose value we never use.
2026-08-15 20:57:27 +02:00
Vadim Zeitlin 04c70ccb82 Fix regression in wxGenericTreeCtrl::GetNextVisible()
This function could return an item which wasn't actually visible after
8ca1be38e2 (Add wxGenericTreeCtrl::DoGetNext(Next_Visible) function,
2023-11-08) due to a confusion about what "visible" meant, see the
parent commit.

Return the next item which is really visible on screen from this
function again.

See #24041.

Closes #26839.
2026-08-15 20:57:00 +02:00
Vadim Zeitlin c535a1400f Rename wxGenericTreeCtrl::Next_Visible flag to Next_Opened
8ca1be38e2 (Add wxGenericTreeCtrl::DoGetNext(Next_Visible) function,
2023-11-08) added this flag with a confusing name because it doesn't
mean the same thing here as in GetNextVisible(): here "visible" meant
just "in an expanded branch" and not necessarily "visible on screen".

Rename the flag to make it more clear what it means.

No real changes yet.
2026-08-15 20:43:41 +02:00
Blake-MaddenandVadim Zeitlin 01fdfa2b50 Use wxGtkObject instead of manual memory management in WebKit2
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 26.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 26.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 26.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 26.04 wxGTK 2 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK gcc 7 static compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (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
Modernize/simplify code, no real changes.

Closes #26836.
2026-08-15 18:25:56 +02:00
RichardandVadim Zeitlin 04bb7e30c4 Respect swapped mouse buttons in wxUIActionSimulator
On MSW, translate logical left and right mouse buttons to their physical
buttons before passing them to mouse_event(). This keeps MouseClick() as
a primary-button click and MouseClick(wxMOUSE_BTN_RIGHT) as a secondary
click when the user swaps the mouse buttons.

Document this behavior for GUI tests.

Closes #26833.
2026-08-15 18:24:55 +02:00
Blake-MaddenandVadim Zeitlin ca1f168cf4 Edge GetZoomFactor() should return 1.0 on failure, not 0.0
Also, add missing pointer checks

Closes #26835.
2026-08-15 18:17:23 +02:00
Vadim Zeitlin ea3a1572fd Merge branch 'EdgeFix' of github.com:Blake-Madden/wxWidgets
Fix some Edge WebView issues.

See #26832.
2026-08-14 21:36:31 +02:00
Vadim Zeitlin c943390fde Merge branch 'WebKitwxGtkObject' of github.com:Blake-Madden/wxWidgets
Fix string leaks in GTK WebKit2.

See #26830.
2026-08-14 21:35:26 +02:00
Blake-Madden cd9a014472 Add missing break in ClearBrowsingData (Edge)
Requesting DOM storage  onlyclearing would also remove cookies
2026-08-14 14:23:57 -04:00
Blake-Madden 989b88d9d8 Fix wrong flag being set in Edge WebView
Also, add a small comment about m_pendingEnableBrowserAcceleratorKeys's init value.
2026-08-14 14:14:40 -04:00
Steve CornettandVadim Zeitlin 49b2ce20ea Implement dark mode switching for wxToolTip in wxMSW
Enable dark mode switching for wxToolTip.

Closes #26818.
2026-08-14 20:06:32 +02:00
Steve CornettandVadim Zeitlin dee9c72e16 Add function to detect DarkMode_DarkTheme
To detect whether DarkMode_DarkTheme is available, use a dedicated
function rather than wxCheckOsVersion, for improved readability.

No changes in behaviour.

Closes #26817.
2026-08-14 20:04:58 +02:00
PBandVadim Zeitlin 6ae88f1474 Reuse wxBasicString in task dialogs support code
Replace BSTR wrapper AutoBSTR introduced locally with dark mode changes
to task dialog with existing wxBasicString serving the same purpose.

Also reorder the include headers so they are sorted alphabetically
as they should be.

No real changes.

Closes #26815.
2026-08-14 20:02:13 +02:00
Vadim Zeitlin f1f21e9788 Merge branch 'darkmode-wxGauge2' of github.com:stevecor/wxWidgets
Fix wxGauge dark mode support in wxMSW.

See #26811.
2026-08-14 19:49:34 +02:00
Vadim Zeitlin 062f2e2e1c Merge branch 'develop' of github.com:LegalizeAdulthood/wxWidgets
Make the test suite more robust under Windows.

See #26668.
2026-08-14 19:44:31 +02:00
Blake-MaddenandVadim Zeitlin 47a29cbb81 Fix memory leak in IE webview
Delete wxFSFile member pointer in VirtualProtocol.

Closes #26823.
2026-08-14 19:36:03 +02:00
TaruliaandVadim Zeitlin 1b78195b35 wxQt: Fix incorrect wxGLAttributes::Stencil()
This fixes an apparent copy-paste mistake. Setting `WX_GL_DEPTH_SIZE`
behind `Stencil()` doesn't make a great deal of sense. So we're simply
fixing the attribute assignment.

Closes #26821.
2026-08-14 19:34:29 +02:00
Michael AdlerandVadim Zeitlin 3782842180 Fix wxEVT_CHAR translation for Ctrl-held keys in wxOSX
charactersIgnoringModifiersIncludingShift()'s UCKeyTranslate fallback
forced cmdKey but never Shift, so Ctrl+Shift+Minus produced '-' not
'_'. Redo the translation with shiftKey when the unshifted result
isn't a letter, but only for wxEVT_CHAR: KEY_DOWN/KEY_UP must stay
shift-invariant, so the character events now take the wx event type
to scope the fix.

The Ctrl-fold to ASCII control codes also only covered a-z. per
wxKeyEvent's docs, [, \, ], ^ and _ should fold to 27-31 too, and
GetUnicodeKey() should match GetKeyCode() for these.

Closes #26810.
2026-08-14 19:31:52 +02:00
Blake-Madden e2f8353a17 Use g_free instead of free
`webkit_web_resource_get_data_finish` uses `g_malloc`, which must be paired with `g_free` (https://github.com/WebKit/WebKit/blob/bd2249a5dfaf8b28113fc044cf1cb79c55a872a7/Source/WebKit/UIProcess/API/glib/WebKitWebResource.cpp#L429)
2026-08-14 13:12:07 -04:00
Blake-Madden 70d0faee2b Fix g_strdup leaks in WebKit2 2026-08-14 12:38:21 -04:00
PBandVadim Zeitlin cf5ccc3faa Improve example code in XRC overview
Fix typos in the ctor and resource names and make the code look
more similar to the one actually generated by wxrc utility.

Closes #26827.
2026-08-14 14:51:13 +02:00
Richard 035b8ad99f tests: Add TempDir::IsOk()
Add a small helper for checking whether TempDir was created successfully and
use it instead of checking the temporary directory name directly.
2026-08-13 21:42:14 -06:00
Richard 77c4110762 tests/controls: Fix GUI test assumptions exposed on MSW
Focus the native edit child when testing wxComboBox Enter handling on MSW,
where wxEVT_TEXT_ENTER is generated from the edit control's character message.
Also split Return simulation into key down/yield/key up so the native message
sequence is observed.

Make the other control tests less dependent on platform-specific details:
check visibility of the actual selected grid endpoint instead of a
DPI-sensitive nearby cell, and allow wxDataViewCtrl to report more than one
key-down event.
2026-08-13 21:42:14 -06:00
Richard abcca3c5f9 tests/graphics: Compare restored DC font with realized font
Some DC implementations can normalize the requested font when it is selected
into the DC. Save the font actually returned by the DC after applying the
font changer, and verify that clipping restores that realized font.
2026-08-13 21:42:14 -06:00
Richard 93e892c33f tests/net: Fix webrequest tests with current httpbin
Make auth and DELETE response checks independent of JSON whitespace, preserve
the base URL path when redirecting to basic auth, and skip digest auth only
with the default public httpbin mirror and WinHTTP backend.
2026-08-13 21:42:14 -06:00
Richard 1b65a101a3 tests/exec: Fix MSW async process termination tests
Use a non-interactive command for async wxExecute tests on MSW and accept the
existing SIGKILL fallback when SIGTERM is not supported.
2026-08-13 21:42:10 -06:00
Richard 7cdd9fb63f tests: Add shared temporary directory helper
Add a TempDir test helper that creates a unique temporary directory and
removes it recursively when it goes out of scope.

Use it in archive, intl, filename and fswatcher tests instead of open-coding
temporary directory creation with CreateTempFileName(), tempnam(), mkdtemp()
or fixed names under the temporary directory.
2026-08-13 21:29:42 -06:00