Commit Graph
22350 Commits
Author SHA1 Message Date
Vadim Zeitlin 2650437c76 Merge branch 'wxGrid--system-color-change' of github.com:stevecor/wxWidgets
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxQt (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxX11 (push) Canceled after 0s
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Canceled after 0s
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxDFB (push) Canceled after 0s
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Canceled after 0s
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Canceled after 0s
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Canceled after 0s
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Canceled after 0s
CMake builds / MSW/MSVC wxMSW (push) Canceled after 0s
CMake builds / MSW/Clang wxMSW (push) Canceled after 0s
CMake builds / macOS latest wxOSX Ninja (push) Canceled after 0s
CMake builds / macOS 14 wxOSX Xcode (push) Canceled after 0s
CMake builds / macOS 14 wxIOS (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 5.15 (push) Canceled after 0s
CMake builds / MSW/MSVC wxQt 6.10 (push) Canceled after 0s
Mac builds / wxMac ARM ASAN not compatible (push) Canceled after 0s
Mac builds / wxMac Universal C++14 (push) Canceled after 0s
Mac builds / wxiOS Simulator on Silicon Mac (push) Canceled after 0s
Mac builds / wxiOS (push) Canceled after 0s
Mac builds / wxMac Intel C++17 (push) Canceled after 0s
Mac Xcode builds / iOS Simulator static (push) Canceled after 0s
Mac Xcode builds / macOS dynamic Release (push) Canceled after 0s
Mac Xcode builds / iOS static Debug (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 DLL Release x64 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Debug Win32 (push) Canceled after 0s
MSW builds / wxMSW vs2022 Release arm64 (push) Canceled after 0s
MSW builds / wxMSW vs2026 DLL Release x64 (push) Canceled after 0s
MSW cross-builds / wxMSW 64 bits not compatible (push) Canceled after 0s
MSW cross-builds / wxMSW/Univ (push) Canceled after 0s
MSW cross-builds / wxMSW 32 bits (push) Canceled after 0s
Code Checks / Check Spelling (push) Canceled after 0s
Code Checks / Check Whitespace (push) Canceled after 0s
Code Checks / Check Mixed EOL (push) Canceled after 0s
Code Checks / Check C++ Style (push) Canceled after 0s
Code Checks / Check All Headers In allheaders.h (push) Canceled after 0s
Update Documentation / Update Online Documentation (push) Canceled after 0s
Fix wxGrid for system colour change.

See #26705.
2026-07-21 01:13:11 +02:00
Steve CornettandVadim Zeitlin 01b131c9d1 Update generic wxSearchCtrl on system colour change
Update the background colour of the generic wxSearchCtrl upon
wxSysColourChangedEvent to notably fix its appearance after switching
between light and dark modes in wxMSW.

Closes #26704.
2026-07-21 01:09:36 +02:00
Steve CornettandVadim Zeitlin 5ea5e65a59 Improve code finding native spin control in wxNotebook
Simply use Win32 FindWindowEx() instead of enumerating child windows
with a loop.

Also extract this code into a reusable function.

No real changes yet.

See #26685.
2026-07-21 00:13:20 +02:00
Vadim Zeitlin 651e2d7d03 Assert inside wxAuiPaneInfo::IsValid() itself
Instead of always calling this function inside an assert-like macro,
just assert in the function itself if the pane settings are
inconsistent.

This allows to give a more precise message, e.g. we can now explain what
is wrong with the center pane settings if any of the dock-related values
are non-zero.

See #26679.
2026-07-20 23:54:34 +02:00
Bill SuandVadim Zeitlin cb774bb305 Ensure that wxAuiNotebook center pane uses expected dock values
Avoid the wxAuiNotebook center pane having non-zero dock_layer,
dock_row, or dock_pos values as it doesn't make sense for it.

Closes #26679.
2026-07-20 23:48:51 +02:00
RichardandVadim Zeitlin 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
Steve Cornett 763b682e8c Fix wxGrid for system colour change
Update the text and background colours in wxGrid upon wxSysColourChangedEvent. Moved the colour setting code from Create() into a new function UpdateColours(), and call that from Create() and upon colour change event. To avoid overwriting custom colours, added flag members to track whether custom colours have been set.

Deleted the code that was disabled by #if _USE_VISATTR. That code has been inactive since 2004.
2026-07-18 08:24:08 -07:00
Vadim Zeitlin 5ccdcd6b2a Update version to 3.3.4
Run misc/scripts/inc_release, update version.bkl and rebake.
2026-07-09 15:08:08 +02:00
Stefan CsomorandVadim Zeitlin 565553ee98 Make default background color transparent in wxOSX
This is needed for translucency effects, desktop background images
changing the toplevel window background tint.

Also don't erase background when no background color is specified.

Closes #26301.
2026-07-07 20:39:53 +02:00
Lunar-YZandVadim Zeitlin aae2d7062c Fix wxPG macros when wxNO_IMPLICIT_WXSTRING_ENCODING is defined
Use wide-char literal string instead of an ASCII one to fix compilation.

Closes #26651.
2026-07-01 16:31:24 +02:00
Blake-MaddenandVadim Zeitlin 8b080b8cb0 Add system color change responsiveness to ribbon
Add new wxRibbonArtProvider::UpdateColoursFromSystem() and implement it
in wxRibbonMSWArtProvider.

Closes #26644.
2026-07-01 03:19:51 +02:00
Blake-MaddenandVadim Zeitlin 6c3b09b8d3 Add wxWebViewConfiguration::DisableGPUAcceleration()
This function may be called before creating any wxWebView objects in
case of problems due to the use of hardware acceleration.

Closes #26626.
2026-07-01 03:17:22 +02:00
Blake-MaddenandVadim Zeitlin 9956c25c07 Add parent distribution info to wxGetOsDescription()
Add fields for the information about the distribution this one is based
on to wxLinuxDistributionInfo and add them wxGetOsDescription() if
available/applicable.

Closes #26641.
2026-07-01 02:47:00 +02:00
Arthur ChanandVadim Zeitlin ae897594fd Avoid OOM in wxTarInputStream for very large extended header
Don't try allocating arbitrarily large amounts of memory for the
extended header in wxTarInputStream and impose a very big but still
reasonable enough to not result in out of memory condition size for it
by default.

Allow changing this size via the newly added SetMaxExtendedHeaderSize()
function for the applications that want to handle files with even bigger
header or, on the contrary, want to avoid allocating even that much.

This should fix running out of memory in OSS-Fuzz runs using the fuzzer
for this class.

Closes #26588.

Closes #26607.

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2026-07-01 01:29:20 +02:00
Vadim Zeitlin 5426a72f95 Merge branch 'osx-window-invalidate-inset-cache' of github.com:ryancog/wxWidgets
Add wxWindow::MacInvalidateInsetCache() to wxOSX/Cocoa.

See #26625.

Closes #26622.
2026-06-30 22:32:30 +02:00
Steve CornettandVadim Zeitlin 25d7cfefea Support switching to wxMSW dark mode in wxAuiToolBar
On Windows, enable dark mode switching for wxAuiToolBar by updating
m_themed upon system colour change.

Closes #26648.
2026-06-30 22:29:27 +02:00
Vadim Zeitlin 7b2bc588e3 Really fix wxStyledTextCtrl::GetMarginCount() documentation
This was done manually in 9864777203 (Upgrade to Doxygen 1.15.0,
2026-05-05) but the changes were lost after regeneration, so add an
override for this function documentation to the generating script itself
to ensure that they're preserved.

This also has the nice side effect of generating a better comment in the
header.

See #26431.
2026-06-27 19:54:44 +02:00
Steve CornettandVadim Zeitlin fc2755524f Add system colour change handler to wxSashWindow
Closes #26638.
2026-06-27 19:47:51 +02:00
Steve CornettandVadim Zeitlin f26f253694 Handle system colour change in wxInfoBarGeneric
Move colour settings from Create() into a new function UpdateColours(),
which gets called from Create() and also upon system colour change.

Closes #26633.
2026-06-27 19:28:04 +02:00
Vadim Zeitlin b7f4cb4f74 Initialize wxRibbonBar members in their declarations
This ensures that they are always initialized, even when the default
ctor is used, which wasn't the case before for m_help_button_hovered
which was never set in this case, resulting in UBSAN errors when running
the ribbon sample.
2026-06-27 19:07:09 +02:00
ryancog c867ac9117 wxOSX/Cocoa add wxWindowMac::MacInvalidateInsetCache() 2026-06-23 15:34:04 -04:00
Vadim Zeitlin 17e1af0a6b Merge branch 'msw-dpi-change-fixes'
Fixes for behaviour after DPI change in wxMSW.

Closes #26498.

See #26604.
2026-06-22 14:29:16 +02:00
Blake-MaddenandVadim Zeitlin e871f1a841 Add wxWebView::PrintToPDF()
Add a possibility to save the page as PDF, possibly with some
non-default print settings.

Closes #26583.
2026-06-21 18:51:38 +02:00
Vadim Zeitlin 52360028b9 Merge branch 'svggc-pen-brush' of github.com:MaartenBent/wxWidgets
Support pen and brush styles in wxSVGGraphicsContext.

See #26586.
2026-06-21 16:30:59 +02:00
Jorge MoraledaandVadim Zeitlin e069b7f4b9 Add wxGrid::GetFrozenRowLabelWindow() and GetFrozenColLabelWindow()
These accessors for the frozen row and column label sub-windows were
missing from the public API even though the equivalent data cell windows
(GetFrozenRowGridWindow/GetFrozenColGridWindow) are already public.
Without them it is impossible to bind events (e.g. EVT_MOTION) to the
frozen label strips from outside the wxGrid implementation.

Closes #26617.
2026-06-21 16:02:48 +02:00
paulcorandGitHub 0ec0518993 Avoid using very large wxDC origin offsets with wxGenericListCtrl
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
Using the wxDC origin to implement scrolled drawing can require very large
origin offsets, which can exceed Cairo coordinate limits (2^23), and therefore
currently wxGTK3 limits as well. Managing the scroll offsets turns out to be
pretty simple in this case, avoiding any coordinate limitations.
See #25365
2026-06-20 10:48:01 -07:00
Vadim Zeitlin 0245dea951 Update wxGridSizer gap sizes on DPI change
Rescale gaps between rows/columns when the DPI changes.

See #26498.
2026-06-20 15:51:21 +02:00
Vadim Zeitlin 2da4ea9744 Move code for updating sizers on DPI change to wxSizer itself
Replacing the existing global UpdateSizerOnDPIChange() with a member
function will allow accessing private wxSizer variables in it (see the
next commit) and making it virtual will allow overriding it in the
derived classes to update more fields on DPI change.

No real changes yet.

This commit is best viewed with Git --color-moved option.
2026-06-20 15:48:13 +02:00
Steve CornettandVadim Zeitlin e23ddf4b65 Implement wxMDIChildFrame::GetDefaultAttributes() in wxMSW
Ensure that the correct background colour is returned for MDI children.

See #26603.
2026-06-20 03:06:01 +02:00
Vadim Zeitlin 934705ef82 Replace wxTopLevelWindow::GeometrySerializer with GeometryStore
The old class used incorrect const qualifiers on its member functions:
saving function typically modifies the object being saved into, and so
must not be const, while loading function should be const, but the old
class reversed this.

Do it right this time in the new GeometryStore class and keep the old
class for compatibility only.

See #26602.
2026-06-19 17:14:39 +02:00
dxbjavidandVadim Zeitlin 11f8ff7b46 Treat truncated reads as errors in wxDataInputStream
Reading from a truncated stream returned values built from partially
or completely uninitialised buffers, e.g. ReadString() decoded the
unread tail of its temporary buffer and the fixed size readers returned
whatever happened to be on the stack. Check that all the requested bytes
were actually read and, if not, mark the input stream as being in error
and return an empty/zero value instead of silently wrong data.

Closes #26600.
2026-06-17 02:03:13 +02:00
Steve CornettandVadim Zeitlin 86f6a8d039 Add support for switching to dark mode to wxTreeCtrl
Update wxTreeCtrl to respond to system colour changes, including
switching into and out of dark mode.

Closes #26601.
2026-06-16 18:44:45 +02:00
Vadim Zeitlin 0ebc0e51ec Don't scale AUI layout on platforms using DPI-independent pixels
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Disable changes of d32c574141 (Update AUI layout on DPI change,
2026-06-01) for the platforms with wxHAS_DPI_INDEPENDENT_PIXELS, i.e.
wxGTK and wxOSX, because it's not just unnecessary but wrong to scale
layout by DPI scale factor there.
2026-06-16 14:41:51 +02:00
Paul Cornett e69213eca1 Remove declaration for function which was removed
Should have been part of
bf386d99c0 (Simplify wxSplashScreen drawing code, 2026-05-15)
2026-06-15 22:02:57 -07:00
Vadim Zeitlin 753de29cae Merge branch 'darkmode-custom-colour' of github.com:stevecor/wxWidgets
Preserve custom colours upon dark mode switch.

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

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

Closes #26594.
2026-06-16 00:25:03 +02:00
Steve Cornett 920b428a4c Remove MSWSetDarkOrLightMode() 2026-06-15 12:59:20 -07:00
Maarten Bent 8bf3e155a7 Support pen and brush styles in wxSVGGraphicsContext
SVG does not allow redefining patterns with the same ID, so write each pattern only once.
2026-06-13 22:21:30 +02:00
Vadim Zeitlin fd35f189b6 Merge branch 'msw-dark-taskdlg'
Add dark mode support to wxMSW task dialog-based dialogs.

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

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

Closes #26584.
2026-06-13 20:25:33 +02:00
Steve CornettandVadim Zeitlin 34a29a1599 Fix disabled wxStaticBox text color in dark mode
Ensure that the control is redrawn when it's enabled or disabled and fix
its drawing in dark mode when it is disabled.

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

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

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

Closes #26566.
2026-06-11 23:48:36 +02:00
Steve CornettandVadim Zeitlin 2d07a1e214 wxMSW: Border handling code cleanup
Remove a useless function and some commented-out code.

Closes #26580.
2026-06-11 23:16:52 +02:00
Steve Cornett ad3b42ade6 Add same dark mode support for wxRadioButton 2026-06-10 16:36:11 -07:00
Steve Cornett a014ea5f56 Use MSWMakeOwnerDrawn() instead of SetForegroundColour() 2026-06-10 09:32:52 -07:00
Vadim Zeitlin a36ff353aa Take wxWindowMSW parameter in wxUxThemeHandle ctor
We don't need wxUniv wxWindow deriving from wxWindowMSW in that build
configuration here, just wxWindowMSW is enough and avoids the need to
cast wxWindowMSW pointers to wxWindow ones in wxUniv/MSW build.
2026-06-10 17:28:48 +02:00
Steve CornettandVadim Zeitlin 3fc3a33f58 Add wxWindow::MSWGetBorderThickness()
This function is more convenient to use in MSW-specific code than
GetWindowBorderSize() as it returns the size of a single border and so
doesn't require the caller to divide the return value by 2.

No real changes.

See #26571.
2026-06-10 17:22:09 +02:00
Vadim Zeitlin af620105cf Add GitHub user name of Mohmed Abdel-Fattah to "Author" lines
See https://github.com/wxWidgets/wxWidgets/pull/26570#discussion_r3385217953
2026-06-10 16:12:39 +02:00
Vadim Zeitlin 3de0aec9a5 Add WinStructWordSize<> helper and use it
This is similar to WinStruct<> but initializes dwSize and not cbSize
struct member.

In the future we should auto-detect the xxSize existence in WinStruct
using either SFINAE or, preferably, concepts, but for now keep things
simple.
2026-06-08 02:44:16 +02:00