From e2ff7459493cc5a5b48be62e5c5d7864d2de7312 Mon Sep 17 00:00:00 2001 From: ge0rdi Date: Thu, 24 Sep 2020 20:49:37 +0200 Subject: [PATCH] Skin: Add support for `Immersive*` color names --- Src/Setup/Utility/MetroColorViewer.cpp | 2 +- Src/StartMenu/StartMenuDLL/SkinManager.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Src/Setup/Utility/MetroColorViewer.cpp b/Src/Setup/Utility/MetroColorViewer.cpp index cafe28f..7928055 100644 --- a/Src/Setup/Utility/MetroColorViewer.cpp +++ b/Src/Setup/Utility/MetroColorViewer.cpp @@ -405,7 +405,7 @@ void ShowMetroColorViewer( void ) if (fout) fprintf(fout,"%02X%02X%02X%02X %S\n",(color>>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF,name); #endif MetroColor mc; - mc.name=name; + mc.name=text; mc.NAME=mc.name; mc.NAME.MakeUpper(); mc.type=type; diff --git a/Src/StartMenu/StartMenuDLL/SkinManager.cpp b/Src/StartMenu/StartMenuDLL/SkinManager.cpp index 1a631d0..71352a5 100644 --- a/Src/StartMenu/StartMenuDLL/SkinManager.cpp +++ b/Src/StartMenu/StartMenuDLL/SkinManager.cpp @@ -375,7 +375,10 @@ COLORREF MenuSkin::GetMetroColor( const wchar_t *names ) const if (GetImmersiveUserColorSetPreference!=NULL) { wchar_t text[256]; - Sprintf(text,_countof(text),L"Immersive%s",name); + if (wcsncmp(name,L"Immersive",9)==0) + wcscpy_s(text,name); + else + Sprintf(text,_countof(text),L"Immersive%s",name); int type=GetImmersiveColorTypeFromName(text); data.colorType=type<0?-1:type; if (type>=0)