Add experimental wxWinUI toolkit backend using WinUI 3 (PR #26890)

115 views
Skip to first unread message

Ferréol DUBOIS COLI

unread,
Aug 22, 2026, 7:02:21 PM (10 days ago) Aug 22
to wx-...@googlegroups.com, Subscribed

Refs #19352.

Summary

This PR adds an experimental wxWinUI toolkit backend based on WinUI 3 and the Windows App SDK.

It preserves the standard wxWidgets API and HWND-based window hierarchy. The port defines both __WXWINUI__ and __WXMSW__: it is an overlay on wxMSW with a different control-rendering backend, not a replacement for the existing wxMSW port.

The initial prototype used one DesktopWindowXamlSource per control. This implementation instead uses one shared XAML island per top-level window. WinUI-backed controls register slots in this shared host, which manages layout, clipping, Z-order, input routing and lifetime.

This considerably reduces island overhead and allows WinUI-backed controls, generic wx controls and native HWND children to coexist in the same top-level window.

This PR is intentionally submitted as an experimental Draft/RFC. It does not claim full wxMSW parity or production readiness.

Main changes

Build and runtime integration

  • Adds -DwxBUILD_TOOLKIT=winui.
  • Keeps both __WXWINUI__ and __WXMSW__ available.
  • Integrates C++/WinRT generation into the CMake build.
  • Pins and validates the stable Windows App SDK 1.8 NuGet packages.
  • Supports framework-dependent, unpackaged applications.
  • Automatically deploys the Windows App SDK runtime payload and generated resources.pri.
  • Adds shared and static-library CMake support.
  • Adds installed-consumer and runtime-deployment validation.

Shared WinUI host

  • One XAML island per top-level window.
  • Slot-based hosting for individual WinUI controls.
  • Deterministic host and control lifetime management.
  • Mixed WinUI/native HWND Z-order and clipping.
  • Keyboard, focus, Tab traversal and pointer routing.
  • Scroll, splitter and native-child bridge regions.
  • Multi-top-level-window and reparenting support.
  • OLE drag-and-drop broker covering both the normal XAML surface and native HWND holes.

Controls and UI surfaces

The port implements or integrates a broad set of controls, including:

  • buttons, bitmap buttons and toggle buttons;
  • check boxes, radio buttons and radio boxes;
  • text, password, search and combo controls;
  • list boxes and bitmap combo boxes;
  • sliders, scroll bars, gauges and spin controls;
  • date, time and calendar controls;
  • static text, bitmap, box and line controls;
  • wxInfoBar;
  • notebook, simplebook, choicebook, listbook and treebook controls;
  • wxTreeCtrl;
  • menus, menu bars, toolbars and status bars;
  • message, text-entry and colour dialog presenters;
  • picker controls;
  • generic and native fallback surfaces such as grid and data-view controls.

The standard toolkit-neutral public class names remain unchanged, allowing existing samples such as minimal, widgets and showcase to build without source changes.

Samples, tests and documentation

  • Adds the winuispike diagnostic and latency harness.
  • Extends minimal, widgets, showcase, dataview and dialog coverage.
  • Adds a standalone Windows App SDK runtime smoke probe.
  • Adds deterministic tests for host lifecycle, input, focus, OLE, control models and dialogs.
  • Adds a Supported V0 test inventory and manual qualification checklist.
  • Documents architecture, deployment, accessibility, coexistence and current limitations.

Building

Current Supported V0 requirements:

  • Windows 11 x64;
  • Visual Studio 2022 / MSVC;
  • CMake 3.21 or newer;
  • Windows SDK 10.0.19041.0 or newer;
  • internet access during the first configure for the pinned NuGet packages.
cmake -S . -B build-winui ^
  -G "Visual Studio 17 2022" -A x64 ^
  -DwxBUILD_TOOLKIT=winui ^
  -DwxBUILD_SAMPLES=SOME ^
  -DwxBUILD_TESTS=ALL

cmake --build build-winui --config Release

The samples and wxWidgets DLLs are produced under:

build-winui\lib\vc_x64_dll

The runtime deployment probe can be built and executed with:

cmake --build build-winui --config Release ^
  --target wx_winui_runtime_smoke

build-winui\winui\runtime-smoke\wx_winui_runtime_smoke.exe

The Supported V0 automated gate is:

ctest --test-dir build-winui -C Release ^
  -R "^wx_winui_supported_beta$" ^
  --output-on-failure

Validation performed

The current narrow Windows 11 x64/MSVC/Release profile has been validated with:

  • clean shared and static builds;
  • wxcore, test_gui, minimal, widgets, showcase and diagnostic targets;
  • standalone Windows App SDK runtime bootstrap and control-realization smoke tests;
  • Supported V0 inventory in shared and static/no-exceptions configurations;
  • deterministic host lifecycle, input, focus, reparenting and teardown tests;
  • production OLE broker tests for normal XAML surfaces and native HWND holes;
  • clean rebuild coverage without relying on pre-existing build artifacts.

Progressive migration and design point for review

WinUI-backed controls, generic wx controls and native HWND children can coexist in the same top-level window because they all retain real HWND entries in the normal wx parent/child hierarchy.

However, selection of the implementation for a standard control class is currently made at toolkit build time. This PR does not yet expose parallel public class families such as wxWinUI::Button and wxMSW::Button in the same translation unit.

This differs from the namespace-based approach previously suggested in #19352. Feedback is welcome on whether per-control implementation selection should be:

  1. added before integration;
  2. implemented as a follow-up;
  3. handled through a future peer/pimpl abstraction.

Current limitations

The currently demonstrated profile is deliberately narrow:

  • Windows 11 x64;
  • MSVC only;
  • Release configuration;
  • framework-dependent, unpackaged deployment;
  • wxUSE_UNICODE_UTF8=OFF.

The following remain experimental or unqualified:

  • Windows 10;
  • Debug, x86 and ARM64;
  • MinGW;
  • monolithic builds;
  • MSIX/packaged deployment;
  • complete wxMSW behavioural parity;
  • all accessibility and Narrator paths;
  • physical DPI, theme, High Contrast and RTL transitions;
  • every mixed WinUI/native pointer and capture scenario;
  • final signed 60-minute manual soak.

The shared-island architecture also cannot directly represent an alternating XAML > HWND > XAML nesting topology. Components requiring this structure remain outside the Supported V0 profile.

Review strategy

This is a large foundational change. I am willing to split it into reviewable PRs if preferred, for example:

  1. CMake, Windows App SDK bootstrap and deployment;
  2. shared-host architecture and lifecycle;
  3. input, focus, Z-order and OLE integration;
  4. foundational controls;
  5. additional controls, dialogs and samples;
  6. qualification tests and documentation.

The immediate goal is to obtain feedback on the architecture and establish an experimental wxWinUI backend that can evolve incrementally without replacing or destabilizing wxMSW.

Component porting status

The authoritative per-component status is documented in
plans/winui3-v0/component-matrix.md.

A component being buildable does not imply that it has a native WinUI backend
or belongs to the Supported V0 profile.

Not yet ported to WinUI / excluded from V0

Area Components
Native window topology wxNativeWindow, MDI
Advanced books wxAuiNotebook
Wizards and properties wxWizard, property sheets and preferences
Filesystem controls wxGenericDirCtrl, wxFileCtrl, filesystem composites
Data/property controls wxPropertyGrid, related property-grid components
Advanced UI libraries AUI, Ribbon, RichText, STC and HTML
Native/COM surfaces WebView, Media, GLCanvas and ActiveX
Shell integration taskbar controls, notifications, splash screen and tip window
Composite controls wxCollapsiblePane
Deployment profiles self-contained Windows App SDK deployment

Any public wxWidgets class absent from the component matrix must currently be
considered excluded from Supported V0.

Available through generic or wxMSW fallback, but not WinUI-ported

These components can participate in a wxWinUI build, but do not currently use
a dedicated WinUI peer:

  • wxPanel;
  • wxPopupWindow, transient windows and wxMiniFrame;
  • wxScrolledWindow, canvas and splitter/sash windows;
  • header controls, wxListCtrl and virtual list controls;
  • wxDataViewCtrl, DataView lists/trees and wxTreeListCtrl;
  • wxGrid, wxVListBox and wxHtmlListBox;
  • wxComboCtrl, owner-drawn combos, rearrange and editable lists;
  • wxBannerWindow and wxAnimationCtrl;
  • font and find/replace dialogs;
  • file and directory dialogs;
  • rich-message, progress and busy-info dialogs;
  • wxDC/GDI+/Direct2D and printing.

These fallback paths remain outside the native WinUI support promise until
their physical input, rendering, accessibility and lifetime contracts are
qualified.

WinUI-backed but still experimental

The following have WinUI implementations but are not yet fully qualified:

  • wxFrame, wxDialog and the shared host infrastructure;
  • button, bitmap button, toggle button, checkbox and radio controls;
  • text, password, search, choice and combo controls;
  • list box and bitmap combo controls;
  • gauge, slider, scrollbar and spin controls;
  • date, time and calendar controls;
  • static text, bitmap, box and line controls;
  • activity indicator and hyperlink controls;
  • non-top notebook orientations and wxToolbook;
  • menus, menu bars, toolbars and status bars;
  • tooltips and rich tooltips;
  • colour dialog and optional ContentDialog presentation;
  • file, directory, font and colour picker controls.

Their deterministic tests may pass, but physical input, UIA, DPI, theme,
High Contrast, RTL and multi-window qualification remain separate gates.

Currently supported subset

The current narrow Supported V0 inventory includes:

  • wxInfoBar;
  • top-oriented wxNotebook;
  • wxSimplebook;
  • wxChoicebook, wxListbook and wxTreebook;
  • the qualified subset of wxTreeCtrl;
  • wxMessageDialog;
  • text-entry and password-entry dialogs.

Support is limited to the published Windows 11 x64, MSVC, Release,
framework-dependent unpackaged profile.

Known missing API behaviour

  • wxTextCtrl does not provide full wxTE_RICH/wxTE_RICH2 formatting;
    SetStyle() and GetStyle() are not implemented.
  • wxComboBox does not provide a distinct wxCB_SIMPLE presentation.
  • wxListBox and wxCheckListBox do not support wxLB_OWNERDRAW or the
    wxMSW per-item drawing extensions.
  • wxSlider does not implement tick placement, range labels or custom thumb
    length.
  • wxDatePickerCtrl represents wxDP_SPIN using the dropdown picker.
  • wxCalendarCtrl does not expose week numbers or wxCAL_HITTEST_WEEK.
  • Only wxNB_TOP belongs to the supported notebook profile.
  • wxTreeCtrl does not implement wxTR_LINES_AT_ROOT, wxTR_ROW_LINES,
    wxTR_FULL_ROW_HIGHLIGHT or wxTR_TWIST_BUTTONS.
  • XAML tooltip timing is not controlled by the global wx tooltip delays.
  • wxColourDialog custom palettes and ChooseFull semantics are not
    qualified.
  • External UIA/Narrator behaviour remains a manual qualification gate.

You can view, comment on, or merge this pull request online at:

  https://github.com/wxWidgets/wxWidgets/pull/26890

Commit Summary

  • 4e34052 Add experimental wxWinUI vertical slice
  • 1b92ff9 Improve experimental WinUI port controls
  • 1be3c58 Fix wxWinUI text input: route keyboard to the focused island
  • 4351bd8 Render Mica backdrop in wxWinUI windows and islands
  • 0fc1e86 Add wxGauge and wxToggleButton to the wxWinUI port
  • 36049a6 Merge remote-tracking branch 'origin/master' into feature/winui-port-prototype
  • dbf4543 Add wxListBox and wxCheckListBox to the wxWinUI port
  • bc6a28e Add wxNotebook to the wxWinUI port (WinUI TabView)
  • d4421df Add wxHyperlinkCtrl and wxActivityIndicator to the wxWinUI port
  • 0d092b4 Add wxStaticBitmap to the wxWinUI port (WinUI Image)
  • 71f8615 Add wxSpinCtrl and wxSpinCtrlDouble to the wxWinUI port (WinUI NumberBox)
  • 63b422a Add wxRadioBox to the wxWinUI port (WinUI RadioButtons)
  • 6ae8a0a Add wxDatePickerCtrl and wxTimePickerCtrl to the wxWinUI port
  • e417bf9 Migrate wxSearchCtrl to a native WinUI AutoSuggestBox
  • 0b38b45 Add wxSpinButton to the wxWinUI port (WinUI RepeatButtons)
  • 558e08e Add wxInfoBar to the wxWinUI port (WinUI InfoBar)
  • a27d18a Add wxCalendarCtrl to the wxWinUI port (WinUI CalendarView)
  • 2f9801f Add wxColourPickerCtrl support to the wxWinUI port (WinUI ColorPicker)
  • aa38183 Add wxBitmapComboBox to the wxWinUI port (WinUI ComboBox image items)
  • 0f0c3fe Add wxScrollBar to the wxWinUI port (WinUI ScrollBar)
  • 4ba4807 @
  • 184e396 @
  • 74ce309 @
  • 78eef5a @
  • 7674b67 @
  • db2232e @
  • 744a702 wxWinUI: checkpoint port WIP before button rewrite
  • f10c931 wxWinUI: clean rewrite of wxButton parameters
  • 1dc22e0 wxWinUI: island infra: per-window cursors, shared dialog helpers, opt-in debug log
  • a71db60 wxWinUI: add wxMessageDialog, wxTextEntryDialog and wxStatusBar
  • cda2b63 wxWinUI: full API pass on checkbox, radio button/box, text ctrl; menu radio items
  • 5953d0f Add the showcase sample exercising the whole control gallery
  • 2af8386 Make wxUSE_WINUI3 available in the static MSW setup.h
  • 1c83817 MSW: use the DarkMode_DarkTheme class for the choice dropdown list
  • 3280a44 Add the WinUI port progress notes
  • e3f70ef wxWinUI: make wxComboBox actually editable and fix its events
  • 7f5218c wxWinUI: emit the wxEVT_SCROLL_* family from wxSlider
  • 30fa89a wxWinUI: track the real caret/selection in wxTextCtrl
  • 291ca42 wxWinUI: control API fixes across the board
  • a40a7b4 wxWinUI: render notebook page icons on the TabView tabs
  • d8c7654 wxWinUI: make the WinUI dialogs app-modal
  • 852086f wxWinUI: flesh out wxTreeCtrl interactivity
  • cc44cae wxWinUI: fill smaller control API gaps
  • 676b93f wxWinUI: honour wxCLRP_SHOW_LABEL in the colour picker button
  • 96dd51f wxWinUI: add wxColourDialog based on the WinUI ColorPicker
  • 60018bc wxWinUI: show popup menus as WinUI MenuFlyouts
  • c9ce9f5 wxWinUI: emit wxEVT_TREE_KEY_DOWN from the TreeView
  • 7326590 wxWinUI: record the July implementation pass in the progress notes
  • 006f61b wxWinUI: fix compilation of the winui toolkit build
  • ab7d4a6 wxWinUI: factor the dialog island boilerplate into wxWinUIDialogIsland
  • 87d19c5 wxWinUI: use the generic font and find/replace dialogs
  • e69a11f wxWinUI: report drag & drop gestures from wxTreeCtrl
  • 1539be7 wxWinUI: progress notes for the phases 1-2 wrap-up
  • 9368e31 wxWinUI: implement wxToolBar with a WinUI CommandBar
  • bbc2098 wxWinUI: install a Fluent wxRendererNative for the generic controls
  • b26f087 wxWinUI: show wxRichToolTip as a WinUI TeachingTip
  • 2b736e6 wxWinUI: progress notes for the phases 3-4 pass
  • 9a4951f wxWinUI: heap-allocate the Fluent renderer
  • e4dccfd wxWinUI: fix the first-render size of every hosted control
  • 6b20668 wxWinUI: present the common dialogs in a real window by default
  • 20207bd wxWinUI: fix clipped labels, phantom tree icons and the hidden tool bar
  • 3742a73 wxWinUI: document the rearchitecture and the v0 audit plan series
  • fa3f588 wxWinUI: rebase the port on one shared island per top-level window
  • 9539afa wxWinUI: plan 001 -- pinned WinUI runtime build and deployment
  • 2be324f wxWinUI: plan 002 -- wxInfoBar public contract and test gate
  • 2c82ad3 wxWinUI: plan 003 steps 1-3 and 7 -- shared host lifetime hardening
  • 2bcb850 wxWinUI: publish supported V0 beta candidate

File Changes

(300 files)

Patch Links:


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890@github.com>

VZ

unread,
Aug 22, 2026, 8:04:52 PM (9 days ago) Aug 22
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#26890)

Thanks, I didn't have time to look at this at all yet, but it would be good to

  1. Rebase your branch on master or merge master into your branch.
  2. Add a CI job building the new port to at least be sure that it compiles (and remains compilable in the future).


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5383275142@github.com>

Ferréol DUBOIS COLI

unread,
Aug 22, 2026, 8:09:57 PM (9 days ago) Aug 22
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

Hey !
Np i'll do that !


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5383296315@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 4:34:03 AM (9 days ago) Aug 23
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 2 commits.

  • 5a363d3 Merge origin/master into wxWinUI port
  • 92e1aba Add wxWinUI CMake compile coverage


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/2bcb850e4d1bdc1e0d85b1e6ae06886485a0f158/after/92e1abab8f1de326dacbb82443490f7d8a58842f@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 5:21:09 AM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

Kicad fluent UI (experimental). I managed to build a part of kicad with the new winui port, there are a lot of issues but it is promissing
Image: image (view on web)
Image: image (view on web)


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5385268647@github.com>

PB

unread,
Aug 23, 2026, 6:52:17 AM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
PBfordev left a comment (wxWidgets/wxWidgets#26890)

Please do not take the following as a critique, just as few observations of a curious person.

As a simple old man, I cannot fathom that an LLM could successfully undertake a complex task such as porting a wxWidgets GUI toolkit, at least making it compilable (let alone making consistently good large- and small-scale decisions). Being very curious, I decided to try this port (since I am not using Linux, no GTK 4 for me). I have no experience with WinUI 3, except checking out the WinUI 3 Gallery application.

Firstly, it does not compile with MSVS 2026 due to many static asserts failing for using a deprecated feature. But it told me what to do, so I added -DCMAKE_CXX_FLAGS="/D_SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS" to the CMake build parameters. After that, the build succeeded, although with many warnings.

Then I ran the minimal.exe. It showed and it looked as expected which I found incredible. I then clicked Help/About in the menu. The About dialog appeared. I have noticed, that unlike with Win32, the dialog added a taskbar item for itself. More importantly, when I moved the mouse cursor out of the dialog, the cursor changed to wait and when moving it back inside the dialog, the application silently exited. Both happen also with the wxWidgets info box (Ctrl+Alt+MiddleClick into the frame empty area).

I launched the dataview sample, the contents of the control is empty on all the tabs, only the selection rect being somewhat visible. Oops. But, when trying the dark mode, the content is there and it seems to mostly work, so it is probably just wrong colors being used in the light mode...

I then played with the widgets sample. Of course, there were countless issues (including radiobox asserts when starting it) but some controls seemed to work, at least at the first glance. The mouse-related modal dialog issue described for the minimal sample manifests there as well (e.g., with the font picker dialog).

I did not even try to look at the source code (yet), being unfamiliar with WinUI 3.

Not sure if the way it was done is feasible (read: can work and is maintanable) but if the maintainers decide to go ahead; I probably cannot help with coding, but perhaps I could help with testing.


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5385615604@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 7:13:27 AM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

I fully understand, and I don't hide the fact that I relied heavily on LLMs for this work. The task was simply too large and complex for me to undertake entirely on my own.
That said, it still took me more than a month of very intensive work, several hundred dollars in inference costs, and a lot of manual testing, debugging, reviewing and iteration.
I don't claim that this PR is production-ready, or even beta-quality at this point. There are obviously many issues left to find and fix, and I fully expected that. My hope is mainly that it can provide a useful starting point for further work rather than being treated as a finished implementation.
Without the help of LLMs, I personally would never have been able to attempt something of this scale, and I suspect a WinUI 3 port might otherwise not have been explored for quite some time.
So feedback like this is actually very valuable. If the maintainers decide that this direction is worth pursuing, additional testing would definitely be helpful.


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5385696834@github.com>

PB

unread,
Aug 23, 2026, 7:34:07 AM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
PBfordev left a comment (wxWidgets/wxWidgets#26890)

I fully understand, and I don't hide the fact that I relied heavily on LLMs for this work. The task was simply too large and complex for me to undertake entirely on my own. That said, it still took me more than a month of very intensive work, several hundred dollars in inference costs, and a lot of manual testing, debugging, reviewing and iteration.

I see, I thought you just told the LLM "make the port", perhaps with few pokes, and that was basically it. I have no experience with using an LLM for such huge tasks so please excuse my ignorance.

I think the modal dialog issue is worth looking into: I could reproduce it with every dialog in every sample I tried. Is this different in KiCad?

If it was not clear from my previous post: I do appreciate the effort, time, and money invested into this enormous task. Thanks again!


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5385776396@github.com>

Gunter Königsman

unread,
Aug 23, 2026, 10:40:10 AM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
gunterkoenigsmann left a comment (wxWidgets/wxWidgets#26890)

Don't underestimate today's LLMs: They have neither eyes nor mouse so they can test only theoretically. But as they can write extensive tests (and normally will do so) the error ratemight be surprisingly low. Also the remaining bugs tend to be so obvious for human testers that it is easy to find those few bugs=> the first experiment dlcannir hit the spot without testing. But it typically is nearer to rock solid than work a real human does.


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5386567720@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 12:46:20 PM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

@PBfordev No problem ^^
I fully understand that a 300 000 + lines PR with all of this ai slop nowdays raises some concerns, this is 100% valid.
I'll take a look at your issue as soon as i can


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5387141689@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 5:31:16 PM (9 days ago) Aug 23
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

Kicad fluent ui edition ! (it is almost working)

https://github.com/user-attachments/assets/fc31f5f6-1185-49aa-a486-028c0427ee0d


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5388569047@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 5:37:35 PM (9 days ago) Aug 23
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 1 commit.

  • a587737 wxWinUI: cut the cost of a pointer sample and draw AUI tool bars with Fluent


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/92e1abab8f1de326dacbb82443490f7d8a58842f/after/a587737f38bfd90d302cfeda1657b071928d21e4@github.com>

Ferréol DUBOIS COLI

unread,
Aug 23, 2026, 6:12:28 PM (9 days ago) Aug 23
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 1 commit.

  • 296355e wxWinUI: build with the MSVC standard library of Visual Studio 2026


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/a587737f38bfd90d302cfeda1657b071928d21e4/after/296355e761108169848be112ec83887fab0ba0ea@github.com>

PB

unread,
Aug 25, 2026, 1:51:41 PM (7 days ago) Aug 25
to wx-...@googlegroups.com, Subscribed
PBfordev left a comment (wxWidgets/wxWidgets#26890)

After the two recent commits, I can no longer reproduce the crash after mouse cursor leaving a modal dialog. Great!

Just two suggestions for perhaps low-hanging fruit that could improve a lot of code:

  1. Fix the light mode colors (wxSystemSettings::GetColour()?): This would make custom-drawn generic controls like wxDataViewCtrl, wxGrid, wxPropGrid etc. appear properly and improve appearance in some other samples.
  2. The best size (at least the height) of a single line wxTextCtrl seems to be calculated incorrectly, being too low. This results in basically every single line control having a vertical scrollbar (and the text being partially cut off).

BTW, I have also noticed that just launching the minimal sample and immediately closing it, shows many memory leaks in the MSVS debug output.

There are also several compiler warnings such as parameter mismatch (double vs int) for printf() but I guess these are not important now...


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5414449926@github.com>

Ferréol DUBOIS COLI

unread,
Aug 25, 2026, 7:57:32 PM (6 days ago) Aug 25
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 2 commits.

  • c5f95a5 Merge remote-tracking branch 'origin/master' into codex/pr26890-feedback
  • 4f6f550 Fix WinUI PR feedback and add CI coverage


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/296355e761108169848be112ec83887fab0ba0ea/after/4f6f55005ee89125917221b5d6ba7aa22ee6cefd@github.com>

Ferréol DUBOIS COLI

unread,
Aug 25, 2026, 8:03:59 PM (6 days ago) Aug 25
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 1 commit.

  • c5cf467 Fix live WinUI status-bar grip resizing


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/4f6f55005ee89125917221b5d6ba7aa22ee6cefd/after/c5cf4677b9627eebce7b69eba427e1658dfbcbe5@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 8:38:20 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 2 commits.

  • 806d00a docs(winui): plan remediation of PR 26890 audits
  • a76e068 Fix MSW warning regressions and execute WinUI runtime CI


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/c5cf4677b9627eebce7b69eba427e1658dfbcbe5/after/a76e0689bf0ddcdba82c30a5f7113f1748b6dee9@github.com>

VZ

unread,
Aug 30, 2026, 9:06:22 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#26890)

@Fefedu973 I've asked for this for another big (but not as big as this one!) LLM-generated PR and I think it might be a good idea here too: could you please ask your tool to break this huge PR in a number of humanly reviewable (much) smaller PRs? I think it should be able to do it and this would provide some way to proceed because right now I simply have no idea how to even start looking at this.


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5468861036@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 9:08:42 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

Hey !
No problem this is exactly what I'm currently doing Right now actually 😅
It will be a long task but my goal is to provide the best version possible for the community!


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5468872106@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 9:39:46 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 15 commits.

  • 3278026 Merge master and migrate added GUI coverage to Catch2
  • 77ed37b Restore AUI DFB and OLE VS2015 compilation
  • 764cbcc Disconnect property grid editor forwarders before owner teardown
  • 3e6f5a5 Own status bar native resizing as a cancellable host transaction
  • e7c964f Keep native header gesture cancellation coherent across mutations
  • 26dd506 Record local audit fixes and outstanding qualification gates
  • b83c4d1 Merge branch 'codex/pr26890-master-refresh' into codex/pr26890-feedback
  • 2645741 Coalesce directory tree rebuilds until native deletion returns
  • dc5b9ac Keep GUI regression fixtures portable after Catch2 migration
  • dc5e4d9 Retire property grid selection removed by editor callbacks
  • 034952c Release native tree selection guard before application callbacks
  • 2d35959 Exercise book mutations with the actual controller contract
  • 202eee4 Complete PropertyGrid callback and toolbar rollback transactions
  • b1ed6a1 Respect the non-input GUI qualification profile
  • 0080db6 Record restored MSW suites and remaining WinUI destruction failure


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/a76e0689bf0ddcdba82c30a5f7113f1748b6dee9/after/0080db6c166eb55ca0e746f37ff9e673cacaeec4@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 10:14:40 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 3 commits.

  • e12f747 Qualify retained PropertyGrid destruction and record local CI baseline
  • be2a1a3 Preserve public WinUI dialog windows and geometry during presentation
  • 1cd4017 Register the pinned DDLM for WinUI CI on Windows Server


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/0080db6c166eb55ca0e746f37ff9e673cacaeec4/after/1cd4017b5a97a8f4d261bdab9fa30793211df82b@github.com>

PB

unread,
Aug 30, 2026, 11:13:10 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Subscribed
PBfordev left a comment (wxWidgets/wxWidgets#26890)

Just for the record, the stack overflow crash caused by moving the mouse cursor out of any dialog is back, although now it crashes in other places.


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5469495827@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 11:15:17 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 6 commits.

  • 01aba27 Make Qt selection callbacks safe when controls delete themselves
  • d1a4157 Reject null task dialog handles before dark-mode UIA enumeration
  • d511aa2 Enforce WinUI startup failure and preserve application renderer ownership
  • 52d0447 Specify toolkit source contracts and test installed Windows headers in CI
  • c7481d4 Keep Qt toolbar actions consistent and include generic FileCtrl in tests
  • b6dd49c Preserve property grid editor lifetime and prevent recursive native painting


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/1cd4017b5a97a8f4d261bdab9fa30793211df82b/after/b6dd49c62912003c44e39df50c6de3deaf214b1b@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 11:21:02 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 1 commit.

  • 445f908 Move WinUI button test operations out of installed public controls


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/b6dd49c62912003c44e39df50c6de3deaf214b1b/after/445f908e8db9824274ab4dfa7f59f8956baee7c0@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 11:22:20 AM (2 days ago) Aug 30
to wx-...@googlegroups.com, Subscribed
Fefedu973 left a comment (wxWidgets/wxWidgets#26890)

Just for the record, the stack overflow crash caused by moving the mouse cursor out of any dialog is back, although now it crashes in other places.

Noted. Thanks ! 👌


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/c5469542947@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 12:23:09 PM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 8 commits.

  • 87841e7 Fix GLib and 32-bit GCC compilation of PropertyGrid regressions
  • 1c0cfce Privatize WinUI static and basic range control test access
  • 0bda9b7 Guard PropertyGrid focus reentry during editor commit
  • e2fcbd8 Preserve Qt control appearance across creation and font reset
  • 98af229 Avoid speculative panel downcast in book control fixtures
  • ea7407d Keep generic directory selection stable for short and long Windows paths
  • 53394a7 Retire PropertyGrid editor slots at child removal boundaries
  • 8fd4d24 Record verified cross-platform CI follow-up evidence


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/445f908e8db9824274ab4dfa7f59f8956baee7c0/after/8fd4d2426b99a7cb283149b39392d8ffd7cf2eb4@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 1:19:19 PM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 6 commits.

  • b1f4ba1 Fix Qt text-only tool icons and nonactivating top-level display
  • c81dc5b Privatize RadioBox and feedback picker test operations
  • b09a352 Install the lifetime header required by public Simplebook declarations
  • 7b47945 Preserve Qt notebook state and size hints across dialog transactions
  • aca7cf7 Fix MSW text-only toolbar image slots and qualify mixed tools
  • a984805 Privatize WinUI InfoBar and StatusBar test access


View it on GitHub or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/8fd4d2426b99a7cb283149b39392d8ffd7cf2eb4/after/a984805c6b32dc57ef31860c3eee34b098a4562b@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 2:28:03 PM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 3 commits.

  • 5d7b88f Fix Qt text editability and synchronous treebook selection veto
  • 7af848f Privatize WinUI text item and range control test interfaces
  • c0f1d55 Observe asynchronous text and calendar state without driving it


View it on GitHub or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/a984805c6b32dc57ef31860c3eee34b098a4562b/after/c0f1d55a0695d445369ea738b405301ef61eef9a@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 3:49:12 PM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 3 commits.

  • de4221c Privatize WinUI notebook and toolbar testing interfaces
  • 7dfd74a Remove WinUI control test-only storage from public layout
  • 0f6879e Bound CMake CI tests and run the Qt GUI suite once


View it on GitHub or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/c0f1d55a0695d445369ea738b405301ef61eef9a/after/0f6879e6086a3046d6c222f4c43a6730dd5d322a@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 4:09:51 PM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 1 commit.

  • 2947664 Avoid reopening Qt dialogs ended during modal initialization


View it on GitHub or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/0f6879e6086a3046d6c222f4c43a6730dd5d322a/after/29476644627e701109cb750b083ebe0c11a6bb3c@github.com>

Ferréol DUBOIS COLI

unread,
Aug 30, 2026, 6:57:45 PM (2 days ago) Aug 30
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 4 commits.

  • f6ae07e Isolate WinUI framework retirement test adapters
  • 60ae7dd Record green CI and WinUI architecture foundation sublots
  • c05fa04 Isolate WinUI ControlHost test probes and Loaded hooks
  • 00fe7a3 Share private WinUI Gauge and ScrollBar peer lifetime state


View it on GitHub or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/29476644627e701109cb750b083ebe0c11a6bb3c/after/00fe7a3b212fc14be7df2ebbf7657dba25c07318@github.com>

Ferréol DUBOIS COLI

unread,
Aug 31, 2026, 12:45:49 PM (19 hours ago) Aug 31
to wx-...@googlegroups.com, Push

@Fefedu973 pushed 6 commits.

  • 33ae89a Separate WinUI OLE ownership decisions from diagnostic snapshots
  • 92c69b4 Extract WinUI native resize transaction from top-level host
  • eb36c45 Characterize native ComboBox template cache invalidation
  • 5733498 Extract WinUI host tooltip observation and ownership policy
  • e2014c0 Extract generation-qualified WinUI visual coordinate mapping
  • b38af99 Record architecture shipping qualification and review boundaries


View it on GitHub or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26890/before/00fe7a3b212fc14be7df2ebbf7657dba25c07318/after/b38af994bea8d9ad6065ad677ab7aa3b2639dcc1@github.com>

Reply all
Reply to author
Forward
0 new messages