Release 961222

Sun Dec 22 13:30:18 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [graphics/metafiledrv/init.c] [graphisc/metafiledrv/mapping.c]
	Added mapping functions.

	* [if1632/gdi.spec] [objects/*.c] [include/windows.h]
	Added a lot of Win32 functions.

	* [memory/heap.c]
	Added HEAP_strdupAtoW and HEAP_strdupWtoA.

	* [misc/lstr.c] [memory/string.c]
	Moved OEM<->Ansi conversion to string.c. Fixed a couple of bugs.

	* [object/font.c]
	Avoid uppercasing font names.

	* [windows/hook.c]
	Set ds = ss before calling hook procedure.

Sat Dec 21 21:44:17 1996  Alex Korobka <alex@trantor.pharm.sunysb.edu>

	* [objects/color.c]
	Use colors allocated by other clients. 

	* [windows/caret.c]
	Set default blink time to 500.

	* [windows/win.c] [windows/event.c]
	Delete X context before XDestroyWindow().

	* [windows/keyboard.c]
	Fixed GetKeyState() once more.

Fri Dec 20 08:26:33 1996  Eric Youngdale <eric@sub2304.jic.com>

	* [debugger/*.c]
	Lots of built-in debugger improvements: parse Win32 EXEs debug
 	information, display local variables, source files and line
 	numbers, get symbols directly from the Wine executable, etc.

Tue Dec 17 22:39:42 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* [misc/winsock_async.c]
 	Extern declaration added for h_errno.

Tue Dec 17 21:29:34 1996  Albrecht Kleine  <kleine@ak.sax.de>

	* [windows/message.c]
	Added two more CBT hook calls: HCBT_CLICKSKIPPED/HCBT_KEYSKIPPED.
diff --git a/objects/text.c b/objects/text.c
index 13659b2..e5977c4 100644
--- a/objects/text.c
+++ b/objects/text.c
@@ -11,8 +11,8 @@
 #include "dc.h"
 #include "gdi.h"
 #include "callback.h"
+#include "heap.h"
 #include "metafile.h"
-#include "string32.h"
 #include "stddebug.h"
 /* #define DEBUG_TEXT */
 #include "debug.h"
@@ -257,7 +257,7 @@
                               rect, line, len, NULL )) return 0;
             if (prefix_offset != -1)
             {
-                HPEN32 hpen = CreatePen32( PS_SOLID, 1, GetTextColor(hdc) );
+                HPEN32 hpen = CreatePen32( PS_SOLID, 1, GetTextColor32(hdc) );
                 HPEN32 oldPen = SelectObject32( hdc, hpen );
                 MoveTo(hdc, x + prefix_x, y + tm.tmAscent + 1 );
                 LineTo32(hdc, x + prefix_end, y + tm.tmAscent + 1 );
@@ -312,9 +312,9 @@
 INT32 DrawText32W( HDC32 hdc, LPCWSTR str, INT32 count,
                    LPRECT32 rect, UINT32 flags )
 {
-    char *p = STRING32_DupUniToAnsi( str );
+    LPSTR p = HEAP_strdupWtoA( GetProcessHeap(), 0, str );
     INT32 ret = DrawText32A( hdc, p, count, rect, flags );
-    free(p);
+    HeapFree( GetProcessHeap(), 0, p );
     return ret;
 }
 
@@ -589,9 +589,9 @@
                       const RECT32 *lprect, LPCWSTR str, UINT32 count,
                       const INT32 *lpDx )
 {
-    char *p = STRING32_DupUniToAnsi( str );
+    LPSTR p = HEAP_strdupWtoA( GetProcessHeap(), 0, str );
     INT32 ret = ExtTextOut32A( hdc, x, y, flags, lprect, p, count, lpDx );
-    free(p);
+    HeapFree( GetProcessHeap(), 0, p );
     return ret;
 }
 
@@ -634,7 +634,7 @@
 
     if (!cch) cch = lstrlen16( (LPCSTR)PTR_SEG_TO_LIN(lParam) );
     if (gsprc) return gsprc( hdc, lParam, cch );
-    current_color = GetTextColor( hdc );
+    current_color = GetTextColor32( hdc );
     SetTextColor( hdc, GetSysColor(COLOR_GRAYTEXT) );
     ret = TextOut16( hdc, x, y, (LPCSTR)PTR_SEG_TO_LIN(lParam), cch );
     SetTextColor( hdc, current_color );
@@ -691,7 +691,7 @@
             RECT16 r;
             SetRect16( &r, x, y, tabPos, y+HIWORD(extent) );
             ExtTextOut16( hdc, x, y,
-                          GetBkMode(hdc) == OPAQUE ? ETO_OPAQUE : 0,
+                          GetBkMode32(hdc) == OPAQUE ? ETO_OPAQUE : 0,
                           &r, lpstr, i, NULL );
         }
         x = tabPos;