[Git][wxwidgets/wxwidgets][master] 27 commits: Remove wxAcceleratorRefData::m_ok

2 views
Skip to first unread message

Vadim Zeitlin (@_VZ_)

unread,
Jun 22, 2025, 3:10:29 PMJun 22
to wx-commi...@googlegroups.com

Vadim Zeitlin pushed to branch master at wxWidgets / wxWidgets

Commits:

  • 82645d5a
    by Vadim Zeitlin at 2025-06-17T19:27:24+02:00
    Remove wxAcceleratorRefData::m_ok
    
    Don't allocate wxAcceleratorRefData at all if we don't have a valid
    HACCEL for it: this is simpler and less error-prone than having a
    separate m_ok member and remembering to set it to true only if m_accel
    is valid (which was forgotten in at least SetHACCEL()).
    
    There should be no observable changes.
    
  • 750b2a47
    by Vadim Zeitlin at 2025-06-17T19:29:07+02:00
    Fix creating wxAcceleratorTable with 0 entries
    
    This was broken in 4cc13e1099 (Use vector in wxMSW wxAcceleratorTable
    code, 2023-05-15), make it work again now and add a unit test ensuring
    that it doesn't get broken again.
    
    Also document the current behaviour.
    
    Closes #25517.
    
  • 54aa7753
    by Vadim Zeitlin at 2025-06-18T23:19:40+02:00
    Fix handling of mnemonics in wxNotebook page labels in dark mode
    
    Remove the "&" characters used to introduce mnemonics in the labels
    (and, as a side effect, also correctly render "&&" as a single "&")
    when drawing the tabs ourselves in dark mode.
    
    Closes #25535.
    
  • 4dcdbe76
    by Vadim Zeitlin at 2025-06-19T00:24:36+02:00
    Really prefer normal items to submenus in WM_MENUSELECT handler
    
    Although the comment said that we already did this, we didn't, actually.
    
    Do this now by continuing to iterate to check if we have an item with
    the requested ID even after finding a submenu at the position
    corresponding to the same value.
    
    See #25505.
    
  • a4f251e5
    by Vadim Zeitlin at 2025-06-19T00:24:53+02:00
    Fix wxNotebook::GetThemeBackgroundColour() in light mode
    
    We almost always returned "white" from this function before due to a
    workaround for Windows Vista (sic!) bug from b380533ca2 (Give the
    correct colour for notebook pages under Vista with the default theme, if
    we're using a solid colour background. wxUxThemeEngine::GetThemeColor
    doesn't return the correct colour for Aero., 2007-05-29), which was
    wrong when using "high contrast black" mode.
    
    Instead of relying on TMT_FILLCOLORHINT, which indeed doesn't seem to
    have the appropriate value, use DrawThemeBackground() to actually paint
    the tab background and get the colour from there.
    
    Also remove an even earlier hack working around a problem with
    WindowBlinds from 25057abaac (Can suppress themed notebook page with
    wxNB_NOPAGETHEME or setting system option msw.notebook.themed-background
    to 0, 2005-02-06) which is hopefully not relevant any more.
    
    Closes #25542.
    
  • 59ed646a
    by Kees-van-der-Oord-Nikon at 2025-06-19T13:42:29+02:00
    Add support for HTML 5 charset attribute in wxHtmlParser
    
    See #25546.
    
  • 23e46142
    by Kees-van-der-Oord-Nikon at 2025-06-19T18:23:35+02:00
    Accept more alignment flags in wxGrid::DrawTextRectangle()
    
    Handle wxALIGN_CENTRE_HORIZONTAL and wxALIGN_CENTER_VERTICAL in addition
    to wxALIGN_CENTRE in this function, as they could be expected to work,
    but did not.
    
    Also document this behaviour and this function more broadly, notably add
    another of its overloads which wasn't present in the documentation at
    all.
    
    Closes #25546.
    
    Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>
    
  • 5a39c3b1
    by Vadim Zeitlin at 2025-06-19T18:25:30+02:00
    Simplify code in generic wxAcceleratorTable::Remove()
    
    Use a temporary variable to make things a bit simpler.
    
    No real changes.
    
  • b38e7bdc
    by Vadim Zeitlin at 2025-06-19T18:27:24+02:00
    Remove unnecessary statement for wxOSX wxAcceleratorTable ctor
    
    This field is already initialized to nullptr in the base class.
    
  • 5fd2f2c5
    by Vadim Zeitlin at 2025-06-19T18:28:42+02:00
    Make wxAcceleratorTable with 0 entries invalid in other ports too
    
    This is similar to 750b2a47ae (Fix creating wxAcceleratorTable with 0
    entries, 2025-06-17) done for wxMSW, but for the implementations of
    wxAcceleratorTable used in all the other ports.
    
  • 5d276d83
    by Vadim Zeitlin at 2025-06-19T18:30:54+02:00
    Make empty wxAcceleratorTable always invalid
    
    In addition to the changes from the previous commit, which made it
    invalid if it was created with 0 entries, also make it invalid if it had
    some entries before but the last of them was removed.
    
    This seems more logical as it maintains the invariant that a non-empty
    wxAcceleratorTable always has some entries.
    
  • af2f951c
    by Paul Cornett at 2025-06-19T20:02:02+02:00
    Allow setting Wayland app_id via wxApp:SetClassName()
    
    See #24668.
    
    Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>
    
  • d8d397e6
    by Vadim Zeitlin at 2025-06-19T22:57:45+02:00
    Use wxApp class name as AppUserModelID under Windows
    
    This serves similar purpose to Wayland app ID, so reuse the class name
    for it too.
    
    Also document the way the class name is used now.
    
  • 1c79dbc6
    by Vadim Zeitlin at 2025-06-20T00:32:57+02:00
    Always interpret sources used in MSVS projects as UTF-8
    
    Add /utf-8 option to all MSVS projects to ensure that we don't depend on
    the system encoding for interpreting non-ASCII characters in the sources.
    
  • d6dba577
    by Vadim Zeitlin at 2025-06-20T00:34:16+02:00
    Always use /utf-8 with MSVS when using CMake too
    
    This is the same as parent commit, but for CMake builds.
    
  • b6721311
    by Vadim Zeitlin at 2025-06-20T17:42:55+02:00
    Replace hex and octal escapes with literal UTF-8 characters
    
    This makes the code more readable and there should be no reason not to
    use UTF-8 in string literals any longer.
    
    Also replace wxHAVE_U_ESCAPE (all still supported compilers have it)
    with wxMUST_USE_U_ESCAPE, which is only set for MSVS 2015 currently and
    will be removed when we drop support for it and can use literal Unicode
    characters in the wide strings everywhere.
    
  • 51a1606b
    by Vadim Zeitlin at 2025-06-20T17:45:51+02:00
    Replace old www.wxwidgets.org IP with 1.1.1.1 in the network test
    
    There is no HTTP server running on 173.254.92.22 any more, so use
    1.1.1.1 for testing whether Internet is accessible.
    
  • 54d57e0c
    by Vadim Zeitlin at 2025-06-21T15:27:51+02:00
    Make wxTaskBarJumpList ctor explicit
    
    It doesn't make sense to convert strings to this class implicitly.
    
  • 6a304608
    by Vadim Zeitlin at 2025-06-21T15:28:38+02:00
    Use current link to Application User Model IDs documentation
    
    Update the link to point to the current page on Microsoft web site.
    
  • 0acf281e
    by Vadim Zeitlin at 2025-06-21T15:39:29+02:00
    Improve app ID support documentation
    
    Give links to Microsoft and Wayland documentation to allow people to
    find out more about the app IDs on different platforms and mention that
    the app ID set in wxApp is used by wxTaskBarJumpList -- and, vice versa,
    mention in wxTaskBarJumpList documentation that the default app ID value
    is wxApp::GetClassName().
    
  • f22a5d6f
    by PB at 2025-06-22T19:28:26+02:00
    Link libwebp when using MSVC-specific setup.h
    
    Recently added libwebp was not added to the libraries MSVC automatically
    links with when adding "$(WXWIN)\include\msvc" to the include paths.
    
    This should have been part of ad6f05a (Add support for WebP image format, including animations, 2025-05-11).
    
  • f7a0020c
    by Vadim Zeitlin at 2025-06-22T20:38:43+02:00
    Mention wxNO_WEBP_LIB in the documentation too
    
    Allow to avoid linking with libwebp if this is undesirable for whatever
    reason.
    
  • 200e4f5e
    by Vadim Zeitlin at 2025-06-22T20:40:13+02:00
    Merge branch 'msw-empty-acceltable-create'
    
    Fix creating empty accelerator table in wxMSW and make such tables
    always return false from their IsOk() in all ports.
    
    See #25538.
    
  • ba097978
    by Vadim Zeitlin at 2025-06-22T20:44:02+02:00
    Merge branch 'msw-notebook-fixes'
    
    Fixes for wxNotebook appearance in wxMSW.
    
    See #25545.
    
  • 340dba8a
    by Vadim Zeitlin at 2025-06-22T20:46:03+02:00
    Merge branch 'app-id'
    
    Use wxApp class name as app ID under Windows and when using Wayland.
    
    See #25548.
    
  • 9277c7bd
    by Vadim Zeitlin at 2025-06-22T20:48:10+02:00
    Merge branch 'msvc-utf8'
    
    Interpret source code as being in UTF-8 when using MSVC.
    
    See #25549.
    
  • 23762d0c
    by Vadim Zeitlin at 2025-06-22T20:50:24+02:00
    Merge branch 'fix-msvc-auto-webp'
    
    Add support for auto-linking with libwebp to MSVC-specific setup.h.
    
    See #25554.
    

37 changed files:

The diff was not included because it is too large.
Reply all
Reply to author
Forward
0 new messages