[ros-diffs] [rharabien] 51110: Fix gdi32:SetSysColors apitest

rharabien at svn.reactos.org rharabien at svn.reactos.org
Mon Mar 21 14:52:08 UTC 2011


Author: rharabien
Date: Mon Mar 21 14:52:08 2011
New Revision: 51110

URL: http://svn.reactos.org/svn/reactos?rev=51110&view=rev
Log:
Fix gdi32:SetSysColors apitest

Modified:
    trunk/reactos/subsystems/win32/win32k/include/intgdi.h
    trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c
    trunk/reactos/subsystems/win32/win32k/objects/stockobj.c

Modified: trunk/reactos/subsystems/win32/win32k/include/intgdi.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/intgdi.h?rev=51110&r1=51109&r2=51110&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/intgdi.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/include/intgdi.h [iso-8859-1] Mon Mar 21 14:52:08 2011
@@ -156,8 +156,8 @@
 
 /* Stock objects */
 
-BOOL FASTCALL
-IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors);
+VOID FASTCALL
+IntSetSysColors(UINT nColors, CONST INT *Elements, CONST COLORREF *Colors);
 
 HGDIOBJ FASTCALL
 IntGetSysColorBrush(INT Object);

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c?rev=51110&r1=51109&r2=51110&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] Mon Mar 21 14:52:08 2011
@@ -538,36 +538,40 @@
    IN CONST COLORREF *lpaRgbValues,
    FLONG Flags)
 {
-  DWORD Ret = FALSE;
-  NTSTATUS Status = STATUS_SUCCESS;
-  UserEnterExclusive();
-  _SEH2_TRY
-  {
-     ProbeForRead(lpaElements,
+   DWORD Ret = TRUE;
+   NTSTATUS Status = STATUS_SUCCESS;
+
+   if (cElements == 0)
+      return TRUE;
+
+   UserEnterExclusive();
+   _SEH2_TRY
+   {
+      ProbeForRead(lpaElements,
                    sizeof(INT),
                    1);
-     ProbeForRead(lpaRgbValues,
-                   sizeof(INT),
+      ProbeForRead(lpaRgbValues,
+                   sizeof(COLORREF),
                    1);
 // Developers: We are thread locked and calling gdi.
-     Ret = IntSetSysColors(cElements, (INT*)lpaElements, (COLORREF*)lpaRgbValues);
-  }
-  _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
-  {
+      IntSetSysColors(cElements, lpaElements, lpaRgbValues);
+   }
+   _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+   {
       Status = _SEH2_GetExceptionCode();
-  }
-  _SEH2_END;
-  if (!NT_SUCCESS(Status))
-  {
+   }
+   _SEH2_END;
+   if (!NT_SUCCESS(Status))
+   {
       SetLastNtError(Status);
       Ret = FALSE;
-  }
-  if (Ret)
-  {
-     UserSendNotifyMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0);
-  }
-  UserLeave();
-  return Ret;
+   }
+   if (Ret)
+   {
+      UserSendNotifyMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0);
+   }
+   UserLeave();
+   return Ret;
 }
 
 DWORD

Modified: trunk/reactos/subsystems/win32/win32k/objects/stockobj.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/stockobj.c?rev=51110&r1=51109&r2=51110&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/stockobj.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/stockobj.c [iso-8859-1] Mon Mar 21 14:52:08 2011
@@ -216,8 +216,8 @@
     return ((Object < 0) || (NB_STOCK_OBJECTS <= Object)) ? NULL : StockObjects[Object];
 }
 
-BOOL FASTCALL
-IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors)
+VOID FASTCALL
+IntSetSysColors(UINT nColors, CONST INT *Elements, CONST COLORREF *Colors)
 {
     UINT i;
 
@@ -234,7 +234,6 @@
         Elements++;
         Colors++;
     }
-    return nColors > 0;
 }
 
 HGDIOBJ FASTCALL




More information about the Ros-diffs mailing list