[wxWidgets/wxWidgets] c4cf2c: Add Refresh() in wxWindowMSW::OnSysColourChanged()

0 views
Skip to first unread message

VZ

unread,
May 25, 2026, 3:23:40 PMMay 25
to wx-co...@googlegroups.com
Branch: refs/heads/master
Home: https://github.com/wxWidgets/wxWidgets
Commit: c4cf2c48ee2dbe0605415f3ed5f7a62a8d4ef018
https://github.com/wxWidgets/wxWidgets/commit/c4cf2c48ee2dbe0605415f3ed5f7a62a8d4ef018
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/window.cpp

Log Message:
-----------
Add Refresh() in wxWindowMSW::OnSysColourChanged()

Refresh the windows when any system settings change, including changes
to the colours and metrics.

See #26424.


Commit: 75ed9756cb4951e9fd2f1090dcec687f6e37c7e3
https://github.com/wxWidgets/wxWidgets/commit/75ed9756cb4951e9fd2f1090dcec687f6e37c7e3
Author: Vadim Zeitlin <va...@wxwidgets.org>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/window.cpp

Log Message:
-----------
Fix typo in a comment: "even" -> "event"

No real changes.


Commit: 072bda8fabcb95c5a1a353138b21718bd3845d2d
https://github.com/wxWidgets/wxWidgets/commit/072bda8fabcb95c5a1a353138b21718bd3845d2d
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/toolbar.cpp

Log Message:
-----------
Remove a redundant Refresh() from wxToolBar code

This is not needed any more after the changes in the parent commit.

See #26424.


Commit: 4c6304203616de42635c1b9938e2525b63a2011a
https://github.com/wxWidgets/wxWidgets/commit/4c6304203616de42635c1b9938e2525b63a2011a
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/mdi.cpp

Log Message:
-----------
Remove another redundant Refresh() from wxMDIParentFrame code

Similar to the parent commit, this is not needed any longer after the
changes of the grandparent commit.

See #26424.


Commit: 7b938b8376c7d254831c79fdb145b2bf7dfdb4b0
https://github.com/wxWidgets/wxWidgets/commit/7b938b8376c7d254831c79fdb145b2bf7dfdb4b0
Author: Vadim Zeitlin <va...@wxwidgets.org>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M include/wx/generic/dataview.h
M src/generic/datavgen.cpp

Log Message:
-----------
Revert "Add system color change event handler to wxDataViewCtrl"

This reverts commit 5f75241f3a25a831bb1a7cb796d41a1ed43d73df which is
not necessary any longer as all windows are refreshed on colour change
anyhow in wxMSW too now.

See #26424.


Commit: bb47481f4cfa5e96500c07eb7ecd0af4d6ba8382
https://github.com/wxWidgets/wxWidgets/commit/bb47481f4cfa5e96500c07eb7ecd0af4d6ba8382
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M include/wx/msw/private/darkmode.h
M src/msw/darkmode.cpp
M src/msw/msgdlg.cpp
M src/msw/toplevel.cpp
M src/msw/window.cpp

Log Message:
-----------
Update non-client colors upon theme change in wxMSW

This change updates the colors in the top level window title bar, menu
bar, etc, with dark/light theme change.

wxMSWDarkMode::EnableForTLW() is renamed to ConfigureTLW() as this
function can now either enable or disable the use of dark theme.

Closes #26425.


Commit: 625efe66f15489e43ba686e8c871fe3ba34ccd28
https://github.com/wxWidgets/wxWidgets/commit/625efe66f15489e43ba686e8c871fe3ba34ccd28
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M include/wx/msw/frame.h
M src/msw/frame.cpp
M src/msw/window.cpp

Log Message:
-----------
Fix wxFrame system color change in wxMSW

This change fixes wxFrame so that it properly responds to switching
between high contrast themes as well as dark mode.

Do it by not setting the frame background colour by default and
implementing GetDefaultAttributes() properly instead, as this ensures
that the correct colour is used by default, in both light and dark
modes, while explicitly set colour still overrides it.

See #25755.

Closes #26427.


Commit: a0881cb5893ffb1e4a2e64cf560f138167b394da
https://github.com/wxWidgets/wxWidgets/commit/a0881cb5893ffb1e4a2e64cf560f138167b394da
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/window.cpp

Log Message:
-----------
Eliminate redundant system color change events

Prior to this change, the handling for WM_SETTINGCHANGE with the
"ImmersiveColorSet" argument introduced an additional system color
change event in addition to handling the message normally. This doubled
the number of events per window. Since WM_SETTINGCHANGE is applied
recursively to child windows, this resulted in an exponential increase
in the number of events generated, doubling with each level of child
windows. The solution is to handle WM_SETTINGCHANGE with
"ImmersiveColorSet" as a system color change only - as if it were
WM_SYSCOLORCHANGE.

Closes #26454.


Commit: 6cb7b3a6150c19d36eb335e033a66fe2e0a08676
https://github.com/wxWidgets/wxWidgets/commit/6cb7b3a6150c19d36eb335e033a66fe2e0a08676
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/frame.cpp

Log Message:
-----------
Don't send redundant wxSysColourChangedEvent in wxFrame

These events are already sent to all children, there is no need to do it
explicitly.

See #26454.


Commit: 63db655bcc941a13ffd0ae82597a5026053ebeed
https://github.com/wxWidgets/wxWidgets/commit/63db655bcc941a13ffd0ae82597a5026053ebeed
Author: Vadim Zeitlin <va...@wxwidgets.org>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/frame.cpp

Log Message:
-----------
Don't call base class event handler, use wxEvent::Skip()

No real changes, just make the code a bit simpler and more maintainable.


Commit: 83d752642ad52a55e365dce42456f29d04758da4
https://github.com/wxWidgets/wxWidgets/commit/83d752642ad52a55e365dce42456f29d04758da4
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)

Changed paths:
M src/msw/darkmode.cpp

Log Message:
-----------
Fix minimum Windows version for supporting dark mode

There was an incompatible change in one of the functions we use in
v1903, so even while we could support older versions, we currently don't
and it's simpler to just increase the minimum supported version rather
than fix this.

See #26494.


Commit: cc7aff49cc60dd23a9013b94c8ec8c4bea266dd0
https://github.com/wxWidgets/wxWidgets/commit/cc7aff49cc60dd23a9013b94c8ec8c4bea266dd0
Author: Vadim Zeitlin <va...@wxwidgets.org>
Date: 2026-05-24 (Sun, 24 May 2026)

Changed paths:
M src/msw/window.cpp

Log Message:
-----------
Revert recent change to wxWindow::MSWGetBgBrushForChild()

625efe66f1 (Fix wxFrame system color change in wxMSW, 2026-05-05)
removed the test from m_hasBgCol from this function, but it is needed to
avoid returning the standard background colour which was always applied
after this change.


Commit: 7e8906443908149f15e1bf8fb863ee80c2a99774
https://github.com/wxWidgets/wxWidgets/commit/7e8906443908149f15e1bf8fb863ee80c2a99774
Author: Vadim Zeitlin <va...@wxwidgets.org>
Date: 2026-05-24 (Sun, 24 May 2026)

Changed paths:
M src/msw/window.cpp

Log Message:
-----------
Fix frame background colour after the parent commit

While we still need to check for m_hasBgCol to avoid overriding the
background in transparent windows, we now also need to check whether the
window is a TLW, as we still want wxFrame to use its background colour
instead of the default.


Commit: 93a565d84550909655f6e82733fc67350deacc0b
https://github.com/wxWidgets/wxWidgets/commit/93a565d84550909655f6e82733fc67350deacc0b
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)

Changed paths:
M src/msw/anybutton.cpp

Log Message:
-----------
Remove fall back definitions for BCM_SETIMAGELIST and related

All currently used compilers/SDKs define them, so there is no need to do
it ourselves any more.

See #26509.

Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>


Commit: 8ac3d483a60a0074f376b4496446a250ba1a50e6
https://github.com/wxWidgets/wxWidgets/commit/8ac3d483a60a0074f376b4496446a250ba1a50e6
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)

Changed paths:
M build/cmake/options.cmake
M build/cmake/setup.h.in
M configure
M configure.ac
M docs/doxygen/mainpages/const_wxusedef.h
M include/wx/android/setup.h
M include/wx/aui/auibar.h
M include/wx/aui/tabart.h
M include/wx/gtk/setup.h
M include/wx/msw/chkconf.h
M include/wx/msw/libraries.h
M include/wx/msw/notebook.h
M include/wx/msw/setup.h
M include/wx/msw/setup_inc.h
M include/wx/msw/textentry.h
M include/wx/msw/uxtheme.h
M include/wx/systhemectrl.h
M include/wx/univ/setup.h
M setup.h.in
M setup.h_vms
M src/aui/barartmsw.cpp
M src/aui/tabartmsw.cpp
M src/generic/richtooltipg.cpp
M src/msw/anybutton.cpp
M src/msw/combo.cpp
M src/msw/combobox.cpp
M src/msw/menuitem.cpp
M src/msw/notebook.cpp
M src/msw/renderer.cpp
M src/msw/statbox.cpp
M src/msw/statusbar.cpp
M src/msw/textentry.cpp
M src/msw/toolbar.cpp
M src/msw/uxtheme.cpp
M src/msw/window.cpp

Log Message:
-----------
Remove wxUSE_UXTHEME option and assume it is always on

It has not been possible to build with this option disabled for 4 years.
It appears there has been little effort to support this option since
then. For 8 years, there has been a duplicate definition of
wxUxThemeIsActive(), causing a linker warning.

Closes #26509.


Commit: 3bb2fe39799de7a5ca63136d9ebf35bf8d938f88
https://github.com/wxWidgets/wxWidgets/commit/3bb2fe39799de7a5ca63136d9ebf35bf8d938f88
Author: Steve Cornett <21205494...@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)

Changed paths:
M src/msw/darkmode.cpp

Log Message:
-----------
Fix build with wxUSE_DARK_MODE=0

Provide stub function implementations that were missing in this case.

Closes #26510.


Commit: 8ff2ba11cc22c70db7525201726d8f9737dda89f
https://github.com/wxWidgets/wxWidgets/commit/8ff2ba11cc22c70db7525201726d8f9737dda89f
Author: Vadim Zeitlin <va...@wxwidgets.org>
Date: 2026-05-25 (Mon, 25 May 2026)

Changed paths:
M include/wx/generic/dataview.h
M include/wx/msw/frame.h
M include/wx/msw/private/darkmode.h
M src/generic/datavgen.cpp
M src/msw/darkmode.cpp
M src/msw/frame.cpp
M src/msw/mdi.cpp
M src/msw/msgdlg.cpp
M src/msw/toolbar.cpp
M src/msw/toplevel.cpp
M src/msw/window.cpp

Log Message:
-----------
Merge branch 'msw-settings-change'

Fixes for settings/colours changes in wxMSW.

See #26503.


Compare: https://github.com/wxWidgets/wxWidgets/compare/2eea294c22b3...8ff2ba11cc22

To unsubscribe from these emails, change your notification settings at https://github.com/wxWidgets/wxWidgets/settings/notifications
Reply all
Reply to author
Forward
0 new messages