MSW: Eliminate redundant system color change events (PR #26454)

7 views
Skip to first unread message

Steve Cornett

unread,
May 13, 2026, 2:28:07 PM (23 hours ago) May 13
to wx-...@googlegroups.com, Subscribed

The handling for WM_SETTINGCHANGE is modified to eliminate redundant wxSysColourChangedEvent 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.

Also, the wxFrame::OnSysColourChanged() is fixed so that it does explicitly send a wxSysColourChangedEvent to the status bar. The status bar is assumed to be a descendant of the frame and so already gets the event. Now the status bar is handled the same as the toolbar.


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

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

Commit Summary

  • dbd59ac Eliminate redundant system color change events

File Changes

(2 files)

Patch Links:


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26454@github.com>

Reply all
Reply to author
Forward
0 new messages