diff --git a/reactos/subsystems/win32/win32k/ntuser/ntstubs.c b/reactos/subsystems/win32/win32k/ntuser/ntstubs.c index 2d3a9744c18..afed2ff209a 100644 --- a/reactos/subsystems/win32/win32k/ntuser/ntstubs.c +++ b/reactos/subsystems/win32/win32k/ntuser/ntstubs.c @@ -540,6 +540,7 @@ NtUserSetSysColors( ProbeForRead(lpaRgbValues, sizeof(INT), 1); +// Developers: We are thread locked and calling gdi. Ret = IntSetSysColors(cElements, (INT*)lpaElements, (COLORREF*)lpaRgbValues); } _SEH_HANDLE @@ -552,6 +553,10 @@ NtUserSetSysColors( SetLastNtError(Status); Ret = FALSE; } + if (Ret) + { + UserPostMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0); + } UserLeave(); return Ret; } diff --git a/reactos/subsystems/win32/win32k/objects/stockobj.c b/reactos/subsystems/win32/win32k/objects/stockobj.c index 1d550cf2ac0..86a009916b3 100644 --- a/reactos/subsystems/win32/win32k/objects/stockobj.c +++ b/reactos/subsystems/win32/win32k/objects/stockobj.c @@ -189,8 +189,6 @@ IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors) Elements++; Colors++; } - UserPostMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0); - return nColors > 0; }