diff --git a/src/ui/theme.cpp b/src/ui/theme.cpp index 2e1148e..8a7e5cd 100644 --- a/src/ui/theme.cpp +++ b/src/ui/theme.cpp @@ -181,8 +181,7 @@ AcrylicTheme GetLightAcrylicTheme() const AcrylicTheme& GetCurrentAcrylicTheme() { if (!s_acrylicThemeInitialized) { - s_currentAcrylicTheme = GetDragonXAcrylicTheme(); - s_acrylicThemeInitialized = true; + SetCurrentAcrylicTheme(GetDragonXAcrylicTheme()); } return s_currentAcrylicTheme; } @@ -190,6 +189,10 @@ const AcrylicTheme& GetCurrentAcrylicTheme() void SetCurrentAcrylicTheme(const AcrylicTheme& theme) { s_currentAcrylicTheme = theme; + // Every panel class samples ONE shared blur texture, so a per-class radius cannot be honoured + // anyway: it only makes applyBlur() re-blur twice per frame (card <-> menu) and lets the last + // radius drawn win for all cards. Menus use the card radius. + s_currentAcrylicTheme.menu.blurRadius = s_currentAcrylicTheme.card.blurRadius; s_acrylicThemeInitialized = true; }