c778130 moved part of WindowServer::WindowManager:: update_theme()
into the new method WindowServer::WindowManager::invalidate_after_theme_or_font_change()
in order to de-duplicate some invalidation logic that should also happen when changing the system font(s). This is great in theory, except that there are several places in invalidate_after_theme_or_font_change()
where it performs actions that are either:
serenity/Userland/Services/WindowServer/WindowManager.cpp
Lines 1554 to 1556 in 636c43d
did_change_theme_or_fonts()
)I don't think there are any real bugs here, but re-applying the theme on font change results in a lot of not-inexpensive noops (though that is countered by the fact that font changes are very rare), and more importantly is also not really idomatic and thus could be hard to follow in the future.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too