[Git][wxwidgets/wxwidgets][master] 5 commits: Fix wxSpinCtrl border in wxMSW dark mode

2 views
Skip to first unread message

Vadim Zeitlin (@_VZ_)

unread,
Jul 5, 2026, 12:27:45 PM (2 days ago) Jul 5
to wx-commi...@googlegroups.com

Vadim Zeitlin pushed to branch master at wxWidgets / wxWidgets

Commits:

  • e56a76dc
    by Vadim Zeitlin at 2026-07-04T19:56:24+02:00
    Fix wxSpinCtrl border in wxMSW dark mode
    
    The changes of 8a573dd7e7 (Improve handling of the borders in MSW dark
    mode, 2026-06-08) resulted in using wxBORDER_SUNKEN for wxSpinCtrl by
    default, but this didn't look right in the dark mode, so change its code
    to explicitly prefer wxBORDER_SIMPLE now that DoTranslateBorder()
    doesn't use it for dark mode any more.
    
    See #26656.
    
    Closes #26655.
    
  • 12c50966
    by Vadim Zeitlin at 2026-07-05T17:25:59+02:00
    Add a disabled by default test for checking loading TAR files
    
    See #26607.
    
  • bc731663
    by Juraj Kavka at 2026-07-05T17:33:51+02:00
    Avoid crash after destroying wxFileSystemWatcher under macOS
    
    Ensure all watches are removed before the object using them is destroyed
    to avoid using the already destroyed object later, which resulted in a
    crash.
    
    Closes #26658.
    
  • a2394361
    by Tobias Predel at 2026-07-05T17:37:03+02:00
    Allow drawing color emoji using Direct2D under Windows
    
    Enable color font option for Direct2D text drawing on Windows 8.1 and
    newer.
    
    Closes #19275.
    
    Closes #26657.
    
    Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>
    
  • 670835ae
    by Vadim Zeitlin at 2026-07-05T18:01:58+02:00
    Update release files for 3.3.3
    
    Update READMEs, change log etc.
    

10 changed files:

Changes:

  • docs/changes.txt
    ... ... @@ -255,31 +255,64 @@ Changes in behaviour which may result in build errors
    255 255
       make sense and was removed, please use the other overload instead if needed.
    
    256 256
     
    
    257 257
     
    
    258
    -3.3.3: (released 2026-??-??)
    
    258
    +3.3.3: (released 2026-07-07)
    
    259 259
     ----------------------------
    
    260 260
     
    
    261
    -NOTE: In addition to the note below, also incorporate (either by
    
    262
    -      copy or by reference) all the changes in the 3.2 branch (i.e.
    
    263
    -      everything in this file after 3.2.0 in that branch).
    
    261
    +Please note that this is a list of changes compared to 3.2.11, the full list of
    
    262
    +changes since 3.3.2 also includes all changes between 3.2.10 and 3.2.11.
    
    264 263
     
    
    265
    -NOTE: This file is updated only before the release, please use
    
    266
    -    $ git log --notes=changelog --format='%N' v3.3.2..|grep .
    
    267
    -      to see all the change log entries since the last release.
    
    264
    +All:
    
    265
    +
    
    266
    +- Add wxMoveToTrash() function (Blake-Madden, #26256).
    
    267
    +- Add wxTarInputStream::SetMaxExtendedHeaderSize() (Arthur Chan, #26607).
    
    268
    +- CMake improvements to installation and wxbase_only (Maarten Bent, #26325).
    
    269
    +- Implement C++20 <=> operator for wxString (#26306).
    
    270
    +- Make wxGetOsDescription() more useful under Linux (Lauri Nurmi, #26231).
    
    271
    +- Treat truncated reads as errors in wxDataInputStream (dxbjavid, #26600).
    
    272
    +
    
    273
    +All (GUI):
    
    274
    +
    
    275
    +- Add accessibility support to wxSVGFileDC (Blake-Madden, #26379).
    
    276
    +- Add fluent UI-like wxRibbon art provider (Blake-Madden, #26253).
    
    277
    +- Add support for print settings to wxWebView::Print() (Blake-Madden, #26239).
    
    278
    +- Add wxGrid::GetFrozenRowLabelWindow() and GetFrozenColLabelWindow() (Jorge Moraleda, #26617).
    
    279
    +- Add wxSVGFileDC::GetSVGDocument() (Blake-Madden, #26344).
    
    280
    +- Add wxSizer::DetachItem() (Ryan Ogurek, #26512).
    
    281
    +- Add wxWebView::PrintToPDF() (Blake-Madden, #26583).
    
    282
    +- Add wxWebViewConfiguration::DisableGPUAcceleration() (Blake-Madden, #26626).
    
    283
    +- Fix wxRibbon icons in high DPI (Blake-Madden, #26409).
    
    284
    +- Use wxBitmapBundle in wxRibbon (Randalphwa, #26117).
    
    285
    +
    
    286
    +wxGTK:
    
    287
    +
    
    288
    +- Add support for high DPI bitmaps to wxAboutBox (#22192).
    
    289
    +- Fix assert when clipboard has non-ASCII targets (#26263).
    
    290
    +- Fix regression in building with GTK without Wayland support (#26269).
    
    291
    +- Fix regression when using wxImageList in high DPI (#26349).
    
    292
    +- Fix wxStaticText label wrapping.
    
    293
    +
    
    294
    +wxMSW:
    
    295
    +
    
    296
    +- Add dark mode support to wxMessageDialog (Mohmed abdel-fattah, #26570).
    
    297
    +- Add support for stylus events (Iulian-Nicu Serbanoiu, #26223).
    
    298
    +- Enable drawing color emoji using Direct2D (Tobias Predel, #26657).
    
    299
    +- Fix combo/listbox colours in dark mode in latest Windows 11 (Fefedu973, #26535).
    
    300
    +- Fix regression in drawing text with Direct2D graphics context (#26259).
    
    301
    +- Fix regression with wxCheckBox label in screen readers (#26270).
    
    302
    +- Fix regression with wxPD_CAN_SKIP in 3.3.2 (#26287).
    
    303
    +- Implement support for switching between light/dark modes (Steve Cornett, #26516).
    
    304
    +- Use inches in page setup dialog if needed (Richard, #9177).
    
    305
    +
    
    306
    +wxOSX:
    
    268 307
     
    
    269
    -      To update the notes, fetch them first:
    
    270
    -    $ git fetch origin refs/notes/changelog:refs/notes/changelog
    
    271
    -      then use the following command to update them locally
    
    272
    -    $ git notes --ref=changelog add -m 'wxPort: description.'
    
    273
    -      and finally push it to the server.
    
    274
    -    $ git push origin refs/notes/changelog:refs/notes/changelog
    
    308
    +- Fix dataview icons rendering under macOS 26 (#26374).
    
    309
    +- Fix wxOverlay leaving phantoms in Mission Control (Daniel DeMoney, #26380).
    
    310
    +- Set value in EVT_DATAVIEW_ITEM_EDITING_DONE (Robert Roebling, #26367).
    
    311
    +- Update XCode project to support macOS 27 (#26578).
    
    275 312
     
    
    276
    -      If this fails due to a conflict because you had forgotten to
    
    277
    -      run git-fetch first, you can always reset your local notes
    
    278
    -      (LOSING YOUR CHANGES TO THEM, so make sure to make a copy)
    
    279
    -    $ git fetch origin refs/notes/changelog
    
    280
    -    $ git update-ref refs/notes/changelog FETCH_HEAD
    
    313
    +wxQt
    
    281 314
     
    
    282
    -      and then redo "git-notes add" and git-push.
    
    315
    +- Add support for private fonts (AtesComp, #26403).
    
    283 316
     
    
    284 317
     
    
    285 318
     3.3.2: (released 2026-03-03)
    

  • docs/doxygen/mainpages/manual.h
    ... ... @@ -14,7 +14,7 @@
    14 14
     @author Julian Smart, Vadim Zeitlin, Robin Dunn, Stefan Csomor,
    
    15 15
             Bryan Petty, Francesco Montorsi, Robert Roebling et al
    
    16 16
     
    
    17
    -@date March 3, 2026
    
    17
    +@date July 7, 2026
    
    18 18
     
    
    19 19
     Welcome to wxWidgets, a stable and powerful open source framework for
    
    20 20
     developing native cross-platform GUI applications in C++!
    

  • docs/publicity/announce.txt
    1
    -March 3, 2026 -- The wxWidgets team is pleased to announce the first new
    
    2
    -development release of our open source framework for the development of native
    
    3
    -cross-platform applications in C++.
    
    1
    +July 07, 2026 -- The wxWidgets team is pleased to announce the next release of
    
    2
    +our open source framework for the development of native cross-platform
    
    3
    +applications in C++.
    
    4 4
     
    
    5
    -wxWidgets 3.3.2 is the third release in the 3.3.x development series and brings
    
    6
    -a number of improvements and bug fixes, with almost 1000 changes in it since
    
    7
    -the previous 3.3.1 release.
    
    5
    +wxWidgets 3.3.3 is the fourth release in the 3.3.x development series and
    
    6
    +brings a number of improvements and bug fixes, with more than 600 changes from
    
    7
    +55 unique contributors in it since the previous 3.3.2 release.
    
    8 8
     
    
    9 9
     The new version is available now from
    
    10 10
     
    
    ... ... @@ -12,48 +12,44 @@ The new version is available now from
    12 12
     
    
    13 13
     and
    
    14 14
     
    
    15
    -    https://github.com/wxWidgets/wxWidgets/releases/v3.3.2
    
    15
    +    https://github.com/wxWidgets/wxWidgets/releases/v3.3.3
    
    16 16
     
    
    17 17
     Changes in this release include:
    
    18 18
     
    
    19
    -- Improve accessibility support: fix it for wxCheckBox in dark mode (#26184),
    
    20
    -  add it for wxCheckListBox (#25948), wxStyledTextCtrl (#25956) and minimal
    
    21
    -  support for wxRichTextCtrl (#26202).
    
    22
    -- Add support for minimizing panes in wxAUI (#23986) and improve splitting
    
    23
    -  behaviour in wxAuiNotebook (#26081).
    
    24
    -- Add wxStyledTextCtrlMiniMap (#25887).
    
    25
    -- Allow using GLX and EGL in the same program in wxGTK (#26023).
    
    26
    -- Add support for using LunaSVG for SVG rendering (#25902).
    
    27
    -- Include projects and solution files for MSVC 2026 (#26131).
    
    28
    -- Many visual fixes for macOS 26 Tahoe (#25766, #25743, #25767)
    
    29
    -- Support scrolling, wxListCtrl, wxNotebook in wxiOS (#25827, #25857, #25858).
    
    30
    -- Implement printing support and wxArtProvider in wxQt (#26126, #26210).
    
    31
    -- Generate suspend/resume events in wxOSX (#25778).
    
    32
    -- Make automatic scrolling in wxScrolled<> configurable (#25978).
    
    33
    -- Improve number and currency formatting (#25765).
    
    34
    -- Significant improvements in wxSVGFileDC (#25723).
    
    35
    -- Allow configuring timeouts in wxWebRequest (#25673) and add new
    
    36
    -  wxWebRequestDebugLogger class (#26086).
    
    37
    -- All bundled 3rd party libraries were updated to latest versions (#26010).
    
    38
    -
    
    39
    -There were too many bug fixes to list them all here, but some of the more
    
    40
    -important ones include:
    
    41
    -
    
    42
    -- Fix using wxSOCKET_NOWAIT_READ and wxSOCKET_WAITALL_WRITE together (#17114).
    
    43
    -- Fix crash on mouse hover after closing tab in wxAuiNotebook (#25959).
    
    44
    -- More dark mode fixes in wxMSW: fix or improve rendering of several controls
    
    45
    -  (#25835), toolbar (#25892) and menus (#26182).
    
    46
    -- More high DPI fixes as well: for wxToolBar (#26038), wxAuiToolBar (#26076),
    
    47
    -  wxPGMultiButton (#26069), wxTreeCtrl state images (#26059), generic
    
    48
    -  wxCalendarCtrl (#25713) and bitmap position in wxDC::DrawLabel() (#25888).
    
    49
    -- Many RTL layout fixes in wxMSW, wxGTK and wxQt (#25426, #25822).
    
    50
    -- Fix multiple bugs in gesture handling in wxGTK (#26241).
    
    19
    +- Add dark mode support to wxMessageBox and other dialogs in wxMSW (#26570).
    
    20
    +- Support switching between light/dark modes in wxMSW (#26516).
    
    21
    +- Add support for stylus events to wxMSW (#26223).
    
    22
    +- Add accessibility support to wxSVGFileDC (#26379).
    
    23
    +- Add wxWebView::Print() and PrintToPDF() (#26239, #26583).
    
    24
    +- Improve wxRibbon appearance in high DPI (#26117, #26409).
    
    25
    +- Improve wxStaticText label wrapping in wxGTK.
    
    26
    +- Add wxMoveToTrash() function (#26256).
    
    27
    +- Enable drawing color emoji using Direct2D in wxMSW (#26657).
    
    28
    +- Implement C++20 <=> operator for wxString (#26306).
    
    29
    +- Add support for private fonts to wxQt (#26403).
    
    30
    +- Support building wxOSX under macOS 27 (#26578).
    
    31
    +
    
    32
    +There were also a number of bug fixes, the most important ones being:
    
    33
    +
    
    34
    +- Improve wxTarInputStream robustness (#26607).
    
    35
    +- Treat truncated reads as errors in wxDataInputStream (#26600).
    
    36
    +- Fix regression when using wxImageList in high DPI in wxGTK (#26349).
    
    37
    +- Fix regression with wxCheckBox label in screen readers in wxMSW (#26270).
    
    38
    +- Fix regression with wxPD_CAN_SKIP in 3.3.2 in wxMSW (#26287).
    
    39
    +- Fix dataview icons rendering under macOS 26 (#26374).
    
    40
    +- Fix wxOSX wxOverlay leaving phantoms in Mission Control (#26380).
    
    51 41
     
    
    52 42
     Please see the change log
    
    53 43
     
    
    54
    -https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.3.2/docs/changes.txt
    
    44
    +https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.3.3/docs/changes.txt
    
    55 45
     
    
    56
    -for the list of the other changes.
    
    46
    +for the list of the other changes and also see
    
    47
    +
    
    48
    +https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.2.11/docs/changes.txt
    
    49
    +
    
    50
    +as the changes in 3.2.11 release are also included in this one and notably
    
    51
    +include multiple buffer overflows in different image handlers and other
    
    52
    +components.
    
    57 53
     
    
    58 54
     
    
    59 55
     This release is part of the "development" release series, but these development
    

  • docs/readme.txt
    ... ... @@ -32,43 +32,34 @@ installation instructions.
    32 32
     
    
    33 33
     
    
    34 34
     
    
    35
    -Changes since 3.3.1
    
    35
    +Changes since 3.3.2
    
    36 36
     -------------------
    
    37 37
     
    
    38
    -This release contains almost a 1000 commits since 3.3.1, including a number of
    
    39
    -new features and improvements:
    
    40
    -
    
    41
    -- Improve accessibility support: fix it for wxCheckBox in dark mode (#26184),
    
    42
    -  add it for wxCheckListBox (#25948), wxStyledTextCtrl (#25956) and minimal
    
    43
    -  support for wxRichTextCtrl (#26202).
    
    44
    -- Add support for minimizing panes in wxAUI (#23986) and improve splitting
    
    45
    -  behaviour in wxAuiNotebook (#26081).
    
    46
    -- Add wxStyledTextCtrlMiniMap (#25887).
    
    47
    -- Allow using GLX and EGL in the same program in wxGTK (#26023).
    
    48
    -- Add support for using LunaSVG for SVG rendering (#25902).
    
    49
    -- Include projects and solution files for MSVC 2026 (#26131).
    
    50
    -- Many visual fixes for macOS 26 Tahoe (#25766, #25743, #25767)
    
    51
    -- Support scrolling, wxListCtrl, wxNotebook in wxiOS (#25827, #25857, #25858).
    
    52
    -- Implement printing support and wxArtProvider in wxQt (#26126, #26210).
    
    53
    -- Generate suspend/resume events in wxOSX (#25778).
    
    54
    -- Make automatic scrolling in wxScrolled<> configurable (#25978).
    
    55
    -- Improve number and currency formatting (#25765).
    
    56
    -- Significant improvements in wxSVGFileDC (#25723).
    
    57
    -- Allow configuring timeouts in wxWebRequest (#25673) and add new
    
    58
    -  wxWebRequestDebugLogger class (#26086).
    
    59
    -- All bundled 3rd party libraries were updated to latest versions (#26010).
    
    60
    -
    
    61
    -There were, of course, also a number of bug fixes:
    
    62
    -
    
    63
    -- Fix using wxSOCKET_NOWAIT_READ and wxSOCKET_WAITALL_WRITE together (#17114).
    
    64
    -- Fix crash on mouse hover after closing tab in wxAuiNotebook (#25959).
    
    65
    -- More dark mode fixes in wxMSW: fix or improve rendering of several controls
    
    66
    -  (#25835), toolbar (#25892) and menus (#26182).
    
    67
    -- More high DPI fixes as well: for wxToolBar (#26038), wxAuiToolBar (#26076),
    
    68
    -  wxPGMultiButton (#26069), wxTreeCtrl state images (#26059), generic
    
    69
    -  wxCalendarCtrl (#25713) and bitmap position in wxDC::DrawLabel() (#25888).
    
    70
    -- Many RTL layout fixes in wxMSW, wxGTK and wxQt (#25426, #25822).
    
    71
    -- Fix multiple bugs in gesture handling in wxGTK (#26241).
    
    38
    +This release contains more than 600 commits from 55 contributors since 3.3.2,
    
    39
    +including a number of new features and improvements:
    
    40
    +
    
    41
    +- Add dark mode support to wxMessageBox and other dialogs in wxMSW (#26570).
    
    42
    +- Support switching between light/dark modes in wxMSW (#26516).
    
    43
    +- Add support for stylus events to wxMSW (#26223).
    
    44
    +- Add accessibility support to wxSVGFileDC (#26379).
    
    45
    +- Add wxWebView::Print() and PrintToPDF() (#26239, #26583).
    
    46
    +- Improve wxRibbon appearance in high DPI (#26117, #26409).
    
    47
    +- Improve wxStaticText label wrapping in wxGTK.
    
    48
    +- Add wxMoveToTrash() function (#26256).
    
    49
    +- Enable drawing color emoji using Direct2D in wxMSW (#26657).
    
    50
    +- Implement C++20 <=> operator for wxString (#26306).
    
    51
    +- Add support for private fonts to wxQt (#26403).
    
    52
    +- Support building wxOSX under macOS 27 (#26578).
    
    53
    +
    
    54
    +There were also a number of bug fixes, the most important ones being:
    
    55
    +
    
    56
    +- Improve wxTarInputStream robustness (#26607).
    
    57
    +- Treat truncated reads as errors in wxDataInputStream (#26600).
    
    58
    +- Fix regression when using wxImageList in high DPI in wxGTK (#26349).
    
    59
    +- Fix regression with wxCheckBox label in screen readers in wxMSW (#26270).
    
    60
    +- Fix regression with wxPD_CAN_SKIP in 3.3.2 in wxMSW (#26287).
    
    61
    +- Fix dataview icons rendering under macOS 26 (#26374).
    
    62
    +- Fix wxOSX wxOverlay leaving phantoms in Mission Control (#26380).
    
    72 63
     
    
    73 64
     Please see the change log for the more complete list:
    
    74 65
     
    
    ... ... @@ -76,9 +67,12 @@ https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.3.3/docs/changes.txt
    76 67
     
    
    77 68
     and also see
    
    78 69
     
    
    79
    -https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.2.10/docs/changes.txt
    
    70
    +https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.2.11/docs/changes.txt
    
    71
    +
    
    72
    +as the changes in 3.2.11 release are also included in this one and notably
    
    73
    +include multiple buffer overflows in different image handlers and other
    
    74
    +components.
    
    80 75
     
    
    81
    -as the changes in 3.2.9 and 3.2.10 releases are also included in this one.
    
    82 76
     
    
    83 77
     Note that in spite of all these changes, wxWidgets 3.3.3 is almost fully
    
    84 78
     compatible with wxWidgets 3.2 and updating the existing applications to
    
    ... ... @@ -94,7 +88,7 @@ This version of wxWidgets supports the following primary platforms:
    94 88
     
    
    95 89
     * Windows 7, 8, 10 and 11 (32/64 bits).
    
    96 90
     * Most Unix variants using the GTK+ toolkit (version 2.6 or newer)
    
    97
    -* macOS (10.10 or newer) using Cocoa (x86-64 or ARM).
    
    91
    +* macOS (10.10 or newer, up to 27) using Cocoa (x86-64 or ARM).
    
    98 92
     
    
    99 93
     There is some support for the following platforms:
    
    100 94
     
    
    ... ... @@ -177,4 +171,4 @@ developed by its users and your contributions to it are always welcome!
    177 171
     
    
    178 172
     Have fun!
    
    179 173
     
    
    180
    -The wxWidgets Team, July 2025
    174
    +The wxWidgets Team, July 2026

  • docs/release.md
    1 1
     Welcome to wxWidgets, a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.
    
    2 2
     
    
    3
    -wxWidgets 3.3.3 is the third release in the 3.3 development branch, bringing many new features and improvements compared to the stable 3.2 branch while remaining mostly API-compatible with it.
    
    3
    +wxWidgets 3.3.3 is the fourth release in the 3.3 development branch, bringing many new features and improvements compared to the stable 3.2 branch while remaining mostly API-compatible with it.
    
    4 4
     
    
    5 5
     Please note that even this is not a "stable" release, it is still considered to be suitable to be used in production, the only difference with the stable releases is that API and ABI compatibility are not guaranteed for the releases in this series. In practice, however, backwards-incompatible API changes are expected to be rare.
    
    6 6
     
    
    ... ... @@ -19,15 +19,15 @@ Finally, Microsoft Windows users may download [Setup.exe file](https://github.co
    19 19
     
    
    20 20
     To verify your download please use the following SHA-1 checksums:
    
    21 21
     
    
    22
    -    12baaf00dad5812e20736153d84d9541452de878  wxMSW-3.3.3-Setup.exe
    
    23
    -    ebae0bef61afd3b58840c9a226a8ab60b5f2245e  wxWidgets-3.3.3-docs-chm.zip
    
    24
    -    87bcd85664ba3601d56b66c748209cd34c069e49  wxWidgets-3.3.3-docs-html.tar.bz2
    
    25
    -    8741eebcd50bc051174fd631dd2ede3ba08c9c6b  wxWidgets-3.3.3-docs-html.zip
    
    26
    -    5d2b42af1caa0d965b09c68e53b8c4af455c6091  wxWidgets-3.3.3-headers.7z
    
    27
    -    7226a2dd7a2de9c3d95eaf64f8e6a554d0e30231  wxWidgets-3.3.3.7z
    
    28
    -    825d76242e4a066170b67e8cdc3ce2e1dd03e200  wxWidgets-3.3.3.chm
    
    29
    -    64ca276f82ccb2b1459bceb4b8fda33609461d69  wxWidgets-3.3.3.tar.bz2
    
    30
    -    2b2900a750edd5ac5f09e5fd579ed8983bb05a0b  wxWidgets-3.3.3.zip
    
    22
    +    0000000000000000000000000000000000000000  wxMSW-3.3.3-Setup.exe
    
    23
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3-docs-chm.zip
    
    24
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3-docs-html.tar.bz2
    
    25
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3-docs-html.zip
    
    26
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3-headers.7z
    
    27
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3.7z
    
    28
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3.chm
    
    29
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3.tar.bz2
    
    30
    +    0000000000000000000000000000000000000000  wxWidgets-3.3.3.zip
    
    31 31
     
    
    32 32
     ## Binaries
    
    33 33
     
    
    ... ... @@ -59,13 +59,13 @@ End users may download one of `wxMSW-3.3.3_vc14x_x64_ReleaseDLL.7z` or `wxMSW-3.
    59 59
     
    
    60 60
     To verify your download please use the following SHA-1 checksums:
    
    61 61
     
    
    62
    -    920e1c9d8e3c897f40005757eeffcb014b2a2d09 wxMSW-3.3.3_gcc1420UCRT_x64_Dev.7z
    
    63
    -    23ebabdc1ffa80496e170717aa01714bef3639a4 wxMSW-3.3.3_gcc1420UCRT_x64_ReleaseDLL.7z
    
    64
    -    da70b61c9a279f97d6e661b89d93183909592d12 wxMSW-3.3.3_gcc1520_x64_Dev.7z
    
    65
    -    9408dfe14cb28ca9107a3bcc20b8dcf0e0c1dcd5 wxMSW-3.3.3_gcc1520_x64_ReleaseDLL.7z
    
    66
    -    05898468b0b7c2116b140c3ff5ad18f43a5640d8 wxMSW-3.3.3_vc14x_x64_Dev.7z
    
    67
    -    41e680074d45485176000b4e57a758c96578e2a1 wxMSW-3.3.3_vc14x_x64_ReleaseDLL.7z
    
    68
    -    6efb4fb63a4ee0e547d1aab54881287531f5d3d7 wxMSW-3.3.3_vc14x_x64_ReleasePDB.7z
    
    62
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_gcc1420UCRT_x64_Dev.7z
    
    63
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_gcc1420UCRT_x64_ReleaseDLL.7z
    
    64
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_gcc1520_x64_Dev.7z
    
    65
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_gcc1520_x64_ReleaseDLL.7z
    
    66
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_vc14x_x64_Dev.7z
    
    67
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_vc14x_x64_ReleaseDLL.7z
    
    68
    +    0000000000000000000000000000000000000000 wxMSW-3.3.3_vc14x_x64_ReleasePDB.7z
    
    69 69
     
    
    70 70
     ## Reporting Problems
    
    71 71
     
    

  • samples/drawing/drawing.cpp
    ... ... @@ -1145,6 +1145,18 @@ void MyCanvas::DrawText(wxDC& dc)
    1145 1145
         dc.SetFont(wxFontInfo(12).Family(wxFONTFAMILY_TELETYPE));
    
    1146 1146
         dc.SetTextForeground(wxColour(150, 75, 0));
    
    1147 1147
         dc.DrawText("And some text with tab characters:\n123456789012345678901234567890\n\taa\tbbb\tcccc", dc.FromDIP(10), y);
    
    1148
    +
    
    1149
    +    dc.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
    
    1150
    +#ifdef __WXMSW__
    
    1151
    +    dc.SetFont(wxFontInfo(12).FaceName("Segoe UI Emoji"));
    
    1152
    +#else
    
    1153
    +    dc.SetFont(*wxSWISS_FONT);
    
    1154
    +#endif
    
    1155
    +    dc.DrawText(wxString::FromUTF8("Smile in colour"
    
    1156
    +#ifdef __WXMSW__
    
    1157
    +                                   " (only when using Direct2D)"
    
    1158
    +#endif
    
    1159
    +                                   ": \U0001F60A"), dc.FromDIP(400), y);
    
    1148 1160
     }
    
    1149 1161
     
    
    1150 1162
     static const struct
    

  • src/msw/graphicsd2d.cpp
    ... ... @@ -4852,11 +4852,17 @@ void wxD2DContext::DoDrawText(const wxString& str, wxDouble x, wxDouble y)
    4852 4852
             textLayout->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_TRAILING);
    
    4853 4853
         }
    
    4854 4854
     
    
    4855
    +    // Enable colour font option when supported (Windows 8.1 and later).
    
    4856
    +    static const auto drawTextOptions = wxCheckOsVersion(6, 3)
    
    4857
    +        ? D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT
    
    4858
    +        : D2D1_DRAW_TEXT_OPTIONS_NONE;
    
    4859
    +
    
    4855 4860
         // Render the text
    
    4856 4861
         GetRenderTarget()->DrawTextLayout(
    
    4857 4862
             D2D1::Point2F(x, y),
    
    4858 4863
             textLayout,
    
    4859
    -        fontData->GetBrushData().GetBrush());
    
    4864
    +        fontData->GetBrushData().GetBrush(),
    
    4865
    +        drawTextOptions);
    
    4860 4866
     
    
    4861 4867
         if ( m_layoutDir == wxLayout_RightToLeft )
    
    4862 4868
         {
    

  • src/msw/spinctrl.cpp
    ... ... @@ -280,9 +280,23 @@ bool wxSpinCtrl::Create(wxWindow *parent,
    280 280
         // set style for the base class
    
    281 281
         style |= wxSP_VERTICAL;
    
    282 282
     
    
    283
    -    // the border is only used for the text control part
    
    284
    -    if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )
    
    285
    -        style |= DoTranslateBorder(wxBORDER_THEME);
    
    283
    +    // Any of border styles except for wxBORDER_SIMPLE look ugly with the spin
    
    284
    +    // button, so always use simple border which seamlessly transitions into
    
    285
    +    // the button -- except when we shouldn't have any border at all.
    
    286
    +    switch ( style & wxBORDER_MASK )
    
    287
    +    {
    
    288
    +        case wxBORDER_NONE:
    
    289
    +            break;
    
    290
    +
    
    291
    +        case wxBORDER_SIMPLE:
    
    292
    +            // Keep it.
    
    293
    +            break;
    
    294
    +
    
    295
    +        default:
    
    296
    +            // Replace anything else with wxBORDER_SIMPLE.
    
    297
    +            style &= ~wxBORDER_MASK;
    
    298
    +            style |= wxBORDER_SIMPLE;
    
    299
    +    }
    
    286 300
     
    
    287 301
         SetWindowStyle(style);
    
    288 302
     
    

  • src/osx/fswatcher_fsevents.cpp
    ... ... @@ -298,6 +298,9 @@ wxFsEventsFileSystemWatcher::wxFsEventsFileSystemWatcher(const wxFileName& path,
    298 298
     
    
    299 299
     wxFsEventsFileSystemWatcher::~wxFsEventsFileSystemWatcher()
    
    300 300
     {
    
    301
    +    // Remove all watches to ensure this object is not used any more.
    
    302
    +    RemoveAll();
    
    303
    +
    
    301 304
         delete m_pImpl;
    
    302 305
     }
    
    303 306
     
    

  • tests/archive/tartest.cpp
    ... ... @@ -17,6 +17,7 @@
    17 17
     #include "archivetest.h"
    
    18 18
     #include "wx/tarstrm.h"
    
    19 19
     #include "wx/mstream.h"
    
    20
    +#include "wx/wfstream.h"
    
    20 21
     
    
    21 22
     #include <memory>
    
    22 23
     
    
    ... ... @@ -234,4 +235,30 @@ TEST_CASE("Tar::BadExtendedHeaderRecordLen", "[tar][error]")
    234 235
         CHECK( entry->GetInternalName() == "a.txt" );
    
    235 236
     }
    
    236 237
     
    
    238
    +// This can be used to test loading an arbitrary tar file by setting the
    
    239
    +// environment variable WX_TEST_TAR_PATH to point to it.
    
    240
    +TEST_CASE("Tar::LoadFile", "[.]")
    
    241
    +{
    
    242
    +    wxString path;
    
    243
    +    REQUIRE( wxGetEnv("WX_TEST_TAR_PATH", &path) );
    
    244
    +
    
    245
    +    wxFileInputStream stream(path);
    
    246
    +    REQUIRE( stream.IsOk() );
    
    247
    +
    
    248
    +    wxTarInputStream tar(stream);
    
    249
    +
    
    250
    +    for (;;)
    
    251
    +    {
    
    252
    +        std::unique_ptr<wxTarEntry> entry(tar.GetNextEntry());
    
    253
    +        if ( !entry )
    
    254
    +            break;
    
    255
    +
    
    256
    +        wxFprintf(stderr, "%3o\t%16lld\t%s\t%s\n",
    
    257
    +                 entry->GetMode(),
    
    258
    +                 entry->GetSize(),
    
    259
    +                 entry->GetDateTime().FormatISOCombined(' '),
    
    260
    +                 entry->GetName()
    
    261
    +                 );
    
    262
    +    }
    
    263
    +}
    
    237 264
     #endif // wxUSE_STREAMS

Reply all
Reply to author
Forward
0 new messages