Release 970215

Sat Feb 15 11:59:17 1997  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [*/*]
	Converted a lot of functions to Win32 types.
	Removed HWND type.

Fri Feb 14 15:09:19 1997  Onno Hovers <onno@stack.nl>

	* [memory/global.c]
	Implemented GMEM_MOVEABLE blocks for Win32.

Fri Feb 14 00:24:39 1997  Alex Korobka <alex@trantor.pharm.sunysb.edu>

	* [loader/task.c] [windows/queue.c]
	Do not read X events while in the intertask SendMessage().

	* [misc/lstr.c]
	Fixed CharPrev32A().

	* [windows/hook.c] [include/hook.h]
	Restored broken WH_CALLWNDPROC functionality for dialogs, etc...

	* [windows/win.c] [windows/defwnd.c] [windows/mdi.c]
	  [windows/event.c] [controls/edit.c] 
	Added WIN_ISWIN32 flag to windows created by Win32 calls. 
	Several new Win32 messages are sent when this flag is on.
	
	* [msdos/dosmem.c] [memory/global.c]
	Some changes in DOS memory allocation.

Fri Feb  7 21:46:03 1997  Andrew Taylor  <andrew@riscan.com>

	* [win32/security.c]
	Added SID manipulation functions.

	* [include/debug.h]
	Added debugging class "security".

Fri  Feb 7 20:46:33 1997  Robert Pouliot <krynos@clic.net>

	* [debugger/msc.c] [debugger/source.c] 
	  [documentation/wine_os2.txt] [loader/signal.c]
	Some more changes for OS/2. Doesn't work yet.

Fri  Feb 7 09:31:17 1997  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [scheduler/process.c]
	Added ExpandEnvironmentStrings*.

	* [misc/ntdll.c] [include/ntdll.h]
	Added some new functions.

	* [objects/cursoricon.c]
	CURSORICON_LoadHandler: check against some bizarre out of memory
	conditions.
	
	* [windows/mdi.c]
	Fixed DefFrameProc32*, added TranslateMDISysAccel32.

Wed Feb  5 01:31:05 1997  John Zero <john@globe.graphisoft.hu>

	* [resources/sysres_Hu.rc] [misc/ole2nls.c] [misc/main.c]
	  [programs/progman/Hu.rc] [programs/winhelp/Hu.rc]
	Added Hungarian language support.
diff --git a/windows/syscolor.c b/windows/syscolor.c
index 596eceb..7bc455b 100644
--- a/windows/syscolor.c
+++ b/windows/syscolor.c
@@ -46,7 +46,7 @@
 static COLORREF SysColors[NUM_SYS_COLORS];
 
 #define MAKE_SOLID(color) \
-         (PALETTEINDEX(GetNearestPaletteIndex(STOCK_DEFAULT_PALETTE,(color))))
+       (PALETTEINDEX(GetNearestPaletteIndex32(STOCK_DEFAULT_PALETTE,(color))))
 
 /*************************************************************************
  *             SYSCOLOR_SetColor
@@ -145,22 +145,28 @@
 
 
 /*************************************************************************
- *             GetSysColor   (USER.180) (USER32.288)
+ *             GetSysColor16   (USER.180)
  */
-
-COLORREF GetSysColor( INT32 nIndex )
+COLORREF GetSysColor16( INT16 nIndex )
 {
-    dprintf_syscolor(stddeb,"System Color %d = %8lx\n", 
-		    nIndex, SysColors[nIndex]);
     return SysColors[nIndex];
 }
 
 
 /*************************************************************************
- *             SetSysColors          (USER.181)
+ *             GetSysColor32   (USER32.288)
  */
+COLORREF GetSysColor32( INT32 nIndex )
+{
+    return SysColors[nIndex];
+}
 
-void SetSysColors(int nChanges, LPINT16 lpSysColor, COLORREF *lpColorValues)
+
+/*************************************************************************
+ *             SetSysColors16   (USER.181)
+ */
+VOID SetSysColors16( INT16 nChanges, const INT16 *lpSysColor,
+                     const COLORREF *lpColorValues )
 {
     int i;
 
@@ -171,9 +177,35 @@
 
     /* Send WM_SYSCOLORCHANGE message to all windows */
 
-    /* ................ */
+    SendMessage32A( HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0 );
 
     /* Repaint affected portions of all visible windows */
 
-    /* ................ */
+    RedrawWindow32( GetDesktopWindow32(), NULL, 0,
+                RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN );
+}
+
+
+/*************************************************************************
+ *             SetSysColors32   (USER32.504)
+ */
+BOOL32 SetSysColors32( INT32 nChanges, const INT32 *lpSysColor,
+                       const COLORREF *lpColorValues )
+{
+    int i;
+
+    for (i = 0; i < nChanges; i++)
+    {
+	SYSCOLOR_SetColor( lpSysColor[i], lpColorValues[i] );
+    }
+
+    /* Send WM_SYSCOLORCHANGE message to all windows */
+
+    SendMessage32A( HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0 );
+
+    /* Repaint affected portions of all visible windows */
+
+    RedrawWindow32( GetDesktopWindow32(), NULL, 0,
+                RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN );
+    return TRUE;
 }