683 Commits
Author SHA1 Message Date
ClaudeandVadim Zeitlin 9992152ce3 Fix bug with broken AUI sash drag in some layout
Don't end the AUI resize action when the new size can't be computed, as
can happen for a perfectly ordinary layout: it's enough to have a
resizable pane followed in its dock by a fixed one. This is the case for
the panes in the bottom row of the "aui" sample itself, after all panes
are shown using the corresponding "Perspectives" menu item.

This fixes a serious user-visible problem as mouse renamed captured
forever and the application was left with the resize cursor and with
keyboard input going to the capturing window.

Add a unit test checking for this problem: without the fix in this
commit, "stillCaptured" remained true in it.

Closes #27025.

Co-authored-by: Vadim Zeitlin <vadim@wxwidgets.org>
2026-09-20 19:28:07 +02:00
Vadim Zeitlin 10c4a5611a Merge branch 'test-races' of github.com:LegalizeAdulthood/wxWidgets
Stabilize parallel CTest runs,

See #26868.
2026-09-20 18:43:47 +02:00
Richard fe5f475bfd Preserve wxRichTextCtrl append style stack
AppendText() moves the insertion point to the end before writing, which
refreshes the default style from the caret position. If a Begin*() style
is active, this could replace the explicit append style with the style at
the end of the existing text.

Save and restore the active default style when the rich text style stack
is non-empty, and cover appending text under a different text colour.

Fixes #10936.

Closes #27037.
2026-09-20 18:36:52 +02:00
Richard 87edae44b4 Fix line-break caret placement in wxRichTextCtrl
Treat embedded wxRichTextCtrl line-break markers as visual line
separators instead of editable trailing spaces. Keep Shift-Enter at the
start of the next visual line, let caret movement cross the marker
correctly, and retain an empty visual line after a trailing marker.

Add focused wxRichTextCtrl coverage for Shift-Enter movement and
insertion around the embedded line-break marker to the test suite.

Fixes #10150.

Closes #27032.
2026-09-20 18:30:31 +02:00
Richard 3eee147111 Increment numbered bullet continuation in wxRichTextCtrl
Let the control continue numbered bullet styles that are not backed by a
named list style when creating the next paragraph. Preserve named list
style validation and keep explicit bullet numbers unchanged.

Fixes #10074.

Closes #27030.
2026-09-20 18:19:19 +02:00
Richard ebf357ad89 Fix intermittent wxTextCtrl URL test on MSW
Rich edit can generate more than one wxEVT_TEXT_URL for a simulated mouse
click, as URL events are emitted for mouse messages over the URL. Check that at
least one URL event is received instead of requiring exactly one.

Use Catch assertions for the simulator calls and make the test explicitly create
a multiline control so the Url section can run on its own.
2026-09-19 20:24:27 -06:00
Richard 20f6696e1c Fix intermittent wxTextCtrl MaxLength test failure
Avoid using simulated Ctrl+V in the multiline max-length checks, as
keyboard delivery can be focus and timing dependent. Set clipboard
contents directly and call Paste() instead, keeping coverage of the
native paste path without depending on synthetic key events.

Also verify that clipboard setup has actually completed before pasting,
and wait for each paste to produce the expected control state. Avoid
using Copy() in the selection paste case, which is testing paste and
max-length handling rather than clipboard copy timing.
2026-09-19 20:24:27 -06:00
Vadim Zeitlin f7702e6dde Ignore another wxGrid test case failure with Qt 5
This is similar to 443c024e07 (Ignore failures in wxGrid column resizing
test with wxQt5, 2026-08-17) and is done for the same reasons of
expediency.

See #25779.
2026-09-11 18:44:46 +02:00
Vadim Zeitlin 272b3d533b Simplify checks for Wayland in the GUI unit tests
Use the recently added IsRunningUnderWayland() helper which is always
available and allows to avoid preprocessor checks for __WXGTK3__.

See #26994.
2026-09-11 02:34:20 +02:00
Vadim Zeitlin a87d72ef27 Wait for selection in wxWebView longer when running under Wayland
Since running tests under Wayland was enabled this test has started
failing there, so try waiting for longer to see if it helps.

See #23403.
2026-09-10 18:34:24 +02:00
Vadim Zeitlin ab3f5e7299 Merge branch 'aui-button-event'
Restore generation of wxEVT_AUINOTEBOOK_BUTTON events.

See #26978.
2026-09-10 17:58:22 +02:00
ali kettab c5642d5266 Fix invalidating wxRadioBox best size in wxQt
This allows enabling "RadioBox::SetStringBestSize()" test under wxQt.
2026-09-08 18:56:38 +02:00
Vadim Zeitlin a80851d57a Recalculate wxRadioBox best size after changing its items
Previously only wxMSW invalidated the cached best size after changing
the label of a wxRadioBox item, but not the other ports, resulting in
wrong layout not accounting for the possibly increased box size.

Fix this by calling InvalidateBestSize() in wxRadioBox::SetString() in
all ports (except for wxQt, where it doesn't work somehow) and not just
wxMSW.

Add a unit test verifying that this works as expected.

Closes #26981.
2026-09-08 17:04:04 +02:00
Richard 2925892b52 Make wxDataViewCtrl key event test deterministic
Send a synthetic wxEVT_KEY_DOWN to the data view control's main window instead
of using wxUIActionSimulator.  This still verifies that the composite control
forwards key events to the wxDataViewCtrl itself, but avoids depending on
focus-sensitive OS key injection.
2026-09-08 00:37:01 +02:00
Richard 811f68ef1d Ignore AUI sash clicks without dragging
Treat a resize sash mouse-up at the original mouse-down position as a
click, not as a resize. Same-position motion before any actual drag is
ignored too, so click-only sash actions do not feed the resize rounding
path.

Add an AUI manager regression test covering repeated click-only pane
sash actions in the same dock.

Fixes #4547.

Closes #26901.
2026-09-08 00:03:42 +02:00
Vadim Zeitlin 6c08a692a6 Restore sending wxEVT_AUINOTEBOOK_BUTTON events
This was broken by 48bf1ac (Rewrite event generation and propagation in
wxAuiNotebook, 2025-07-12), see #25634 and #25544.

Restore sending this event for the buttons and do it with the correct
page indexes now, i.e. using the logical page index and not its physical
position.

Also consistently allow the handler of this event to prevent the default
action from taking place if it doesn't call wxEvent::Skip(). This is not
100% backwards-compatible but is consistent and more useful.

Add a unit test checking that this works as expected.

Closes #26801.
2026-09-07 22:53:28 +02:00
Vadim Zeitlin c8003a0a06 Use make_unique<>() instead of "new" in the tests
No real changes, just avoid explicit "new" calls.
2026-09-04 15:24:34 +02:00
Richard 5daf1beb9c Respect disabled physical scrolling in Scroll
Make wxScrollHelper::DoScroll() use ScrollWindow() only for axes whose
physical scrolling is enabled. Disabled axes still update their logical
scroll position and invalidate the target window so it repaints.

Add a regression test covering fully disabled physical scrolling and a
mixed horizontal-enabled, vertical-disabled scroll.

This commit is best viewed ignoring whitespace-only changes.

Fixes #4433.

Closes #26900.
2026-09-04 15:10:24 +02:00
Scott Talbert 0e96f1dfa0 Add dummy sibling window in TextCtrlTestCase to avoid GTK lone-child sizing
Same issue as ClippingBoxTestCase::wxPaintDC: a sole child window gets
stretched to fill the parent under wxGTK, breaking HitTest() and the
multiline PositionToCoords* tests via a wrongly inflated allocation.
2026-08-31 20:01:37 -04:00
Scott Talbert 54c2d9df83 Fix Window::Refresh test: skip child-not-painted check on Wayland
GTK3 with a native Wayland backend doesn't support partial redraws at
all: any invalidation anywhere ends up repainting every window with
its own full bounds, so the check that a non-intersecting child stays
unpainted can never hold there. Skip it in that case, based on the
actual X11-vs-Wayland backend rather than the platform, since e.g. a
plain X11/XWayland session with a compositor does support this.
2026-08-31 20:01:37 -04:00
Scott Talbert 224a8d396a Don't rely on Update() being synchronous for GTK3 paint-dependent tests
wxWindow::Update() is an intentional no-op under GTK3 with a native
Wayland backend, so Refresh()+Update() doesn't guarantee the paint has
already happened by the time it returns there. Wait for the actual
paint event using WaitForPaint instead, fixing
EventPropagation::ScrollWindowWith(out)Handler and
Grid::SetTable_ClearAttrCache.
2026-08-31 20:01:37 -04:00
Scott Talbert 57d2358170 Add missing EnableUITests() guard to tests using wxUIActionSimulator
Button::{Click,Disabled}, RadioButton::Click, SpinCtrl::{Arrows,Increment,
SetValueInsideEventHandler,Wrap}, SpinCtrlDouble::{Arrows,Increment,
Wrap}, ValNum::Interactive, wxStyledTextCtrl::{AutoComp,Calltip},
Grid::{CellClick,ReorderedColumnsCellClick,CellSelect} and several
wxTreeCtrl tests used wxUIActionSimulator without checking
EnableUITests() first, unlike every other simulated-input test. This
meant they weren't skipped when UI tests are disabled (e.g. now by
default under a native Wayland GTK3 client) and just failed instead.
2026-08-31 19:30:10 -04:00
Richard ae3a613462 Test that moving wxGrid cursor over hidden lines works correctly
Add regression coverage for cursor movement across zero-height rows and
zero-width columns. The grid cursor should skip hidden lines when moving
in either direction and remain on a shown row or column.

See #9586.

Closes #26904.
2026-08-26 16:38:48 +02:00
Richard 1a5524747f Emit AUI page-changed event after removing last page
Send wxEVT_AUINOTEBOOK_PAGE_CHANGED when DeletePage() or RemovePage()
removes the selected last wxAuiNotebook page and changes the selection
to wxNOT_FOUND. Add coverage for both removal paths and keep
programmatic removal from emitting page-close events.

Fixes #9920.

Closes #26907.
2026-08-26 14:52:04 +02:00
Richard ef39686381 Test split wxAuiNotebook tab event selections
Add regression coverage for split wxAuiNotebook tab events. Verify that
middle and right tab events report the notebook page index instead of the
local tab-control index.

See #9869.

Closes #26906.
2026-08-26 14:42:07 +02:00
Vadim Zeitlin d91a651404 Merge branch 'drop-cppunit'
Get rid of the remains of CppUnit support, replace all use of
compatibility macros with direct use of Catch.

See #26873.
2026-08-26 14:29:59 +02:00
Richard a9f99b4956 Respect specified best size when adding wxAUI panes
Seed the initial dock size from an explicit wxAuiPaneInfo::BestSize()
when no saved dock size is present. This lets AddPane() honor requested
left/right or top/bottom pane sizes without making callers use MinSize()
as a workaround, while preserved dock sizes from restored layouts still
take precedence.

Add AUI manager tests for explicit BestSize() and saved dock_size
precedence.

Fixes #4404.

Closes #26899.
2026-08-26 14:28:01 +02:00
Richard 9bff69abc9 Fix wxGrid::MakeCellVisible() with variable row heights
Use the current unscrolled origin and the actual target-cell bottom when
scrolling down, instead of rebuilding a position from preceding row
heights. Add a grid regression test with mixed row heights.

Fixes #4371.

Closes #26897.
2026-08-26 14:28:01 +02:00
Vadim Zeitlin 39ac888eff Replace raw pointers in tests fixtures with std::unique_ptr<>
Now that we have fixtures, with ctors and dtors, instead of setUp() and
tearDown(), we can use std::unique_ptr<> instead of manual memory
management.

No real changes.
2026-08-24 19:56:07 +02:00
Vadim Zeitlin 0062d98640 Add checks for clipboard state to wxTextCtrl::LongPaste test
Try to give better error message if the test fails because of a problem
with the clipboard and not with wxTextCtrl itself.
2026-08-24 18:46:44 +02:00
Vadim Zeitlin 3087ec1945 Convert the remaining GUI unit tests to use Catch directly
Get rid of CPPUNIT_TEST_SUITE() and the other CppUnit compatibility macros
in all the remaining GUI tests, including the ones sharing their tests via
a common base class: wxItemContainer, wxTextEntry, wxBookCtrlBase and
wxPickerBase tests are now defined using the new wxXXX_TESTS() macros
generating one Catch test case per test instead of being listed inside the
test suite of the derived class.

Replace WXUISIM_TEST() with a check for EnableUITests() at the beginning of
the test itself and remove this macro from testprec.h, adding the new
generic wxTEST_CASE_FOR_METHOD() helper used by all the macros above there.

Get rid of the pseudo tests: wxTextCtrl tests for the multi-line controls
now use a separate fixture deriving from the single-line one instead of
PseudoTestSwitchToMultiLineStyle() and the owner-drawn wxListBox tests use
GENERATE() instead of PseudoTest_OwnerDrawn().

No real changes.

Assisted-by: Claude Opus 5
2026-08-24 18:46:44 +02:00
Vadim Zeitlin 87ecf894e9 Convert simple GUI unit tests to use Catch directly
Get rid of the CppUnit compatibility macros in the GUI test files not
requiring any special handling: replace the test suite classes with Catch
fixtures, setUp()/tearDown() with the ctor/dtor and CPPUNIT_ASSERT_XXX()
with CHECK().

Tests using wxUIActionSimulator don't use WXUISIM_TEST() any more but
check EnableUITests() at the beginning of the test itself instead.

The pseudo test PseudoTest_Inversed in the wxSlider tests is replaced with
GENERATE() rerunning the tests for both normal and inversed sliders.

No real changes.

Assisted-by: Claude Opus 5
2026-08-24 18:46:44 +02:00
Richard 281a4b2670 Handle wxRichTextCtrl clipboard transfer failures
Fall back to lower-priority clipboard formats if advertised rich text
data can't actually be read, and only report paste success after data
has been retrieved.

Also avoid deleting the selection from wxRichTextCtrl::Cut() unless it
was successfully copied to the clipboard, and make the CutCopyPaste
test verify clipboard contents before relying on them.

See #18738 and #24120 possibly related to this.

Closes #26865.
2026-08-17 20:17:28 +02:00
Vadim Zeitlin 443c024e07 Ignore failures in wxGrid column resizing test with wxQt5
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
This happens regularly and is just annoying, so unless somebody decides
to fix this, ignore the failures with just a warning to allow the test
suite to succeed.

See #25779.
2026-08-17 14:47:04 +02:00
Vadim Zeitlin fccc35275a Define wxHAS_QT5 in wxGrid test once and reuse it
Currently it's only used once, so this doesn't change anything, but
another similar check will be added in the next commit, where this will
pay off.
2026-08-17 14:38:57 +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
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 b3e0e4cde1 Refresh wxGrid editor on resize
Reposition the active cell editor after wxGrid resizes its child
windows, keeping the editor inside the visible grid window and
refreshing the old editor area.

Add a GUI regression test that shrinks the grid while editing and
checks that the editor remains visible in the grid window.

Fixes #2678.

Closes #26724.
2026-08-10 16:54:20 +02:00
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 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
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
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
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
Richard e04e3260fc Handle context-help mouse capture loss
End wxContextHelp mode when mouse capture is lost and only release the
mouse if the help window still owns capture after the modal help loop.
Add coverage for the capture-loss path so context help exits without
using another input event.

Fixes #21534.

Closes #26674.
2026-07-20 20:35:07 +02:00
Richard fbc474f4ed Track active wxGrid editor while editing
Remember the editor instance used for the shown edit control and use it
for visibility checks, painting, hiding, and saving. This keeps the edit
control lifetime independent of later attribute changes, so replacing a
cell or column editor while editing does not make wxGrid hide or save
through the wrong editor.

Add a regression covering replacement of a column bool editor while its
cell is being edited.

Fixes #21986.

Closes #26670.
2026-07-20 20:12:44 +02:00
Paul Cornett 53e050bfc5 Remove unused functions/templates 2026-07-16 20:44:58 -07:00
Paul Cornett be1274d517 Avoid some -Wcomma warnings 2026-06-15 22:20:39 -07:00
Paul Cornett 8e005d1c31 Remove m_ prefix from local variable
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
2026-05-21 16:57:51 -07:00
Vadim Zeitlin b270113885 Fix GetValue() returning hint for wxMSW controls with wxTE_RICH
Override DoGetValue() in wxMSW wxTextCtrl and not GetValue() itself as
the base class version correctly takes the manually managed hints into
account, unlike the overridden version which only did this for plain
edit controls but not the rich edit ones.

Add a unit test to ensure that this bug remains fixed.

See #26176.
2026-02-10 13:36:16 +01:00