update for HEAD-2003050101
[reactos.git] / subsys / win32k / objects / gdiobj.c
index f7c85c4..9fe343f 100644 (file)
@@ -8,6 +8,7 @@
 #undef WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #include <ddk/ntddk.h>
+#include <include/dce.h>
 #include <win32k/gdiobj.h>
 #include <win32k/brush.h>
 #include <win32k/pen.h>
@@ -51,7 +52,7 @@ static LOGPEN BlackPen =
 static LOGPEN NullPen =
 { PS_NULL, { 0, 0 }, 0 };
 
-static LOGFONT OEMFixedFont =
+static LOGFONTW OEMFixedFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, OEM_CHARSET,
   0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, L"" };
 
@@ -60,38 +61,38 @@ static LOGFONT OEMFixedFont =
    segment, and (c) Solaris assembler is stupid.  */
 static UINT align_OEMFixedFont = 1;
 
-static LOGFONT AnsiFixedFont =
+static LOGFONTW AnsiFixedFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
   0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, L"" };
 
 static UINT align_AnsiFixedFont = 1;
 
-static LOGFONT AnsiVarFont =
+static LOGFONTW AnsiVarFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
   0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, L"MS Sans Serif" };
 
 static UINT align_AnsiVarFont = 1;
 
-static LOGFONT SystemFont =
+static LOGFONTW SystemFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
   0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, L"System" };
 
 static UINT align_SystemFont = 1;
 
-static LOGFONT DeviceDefaultFont =
+static LOGFONTW DeviceDefaultFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
   0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, L"" };
 
 static UINT align_DeviceDefaultFont = 1;
 
-static LOGFONT SystemFixedFont =
+static LOGFONTW SystemFixedFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
   0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, L"" };
 
 static UINT align_SystemFixedFont = 1;
 
 /* FIXME: Is this correct? */
-static LOGFONT DefaultGuiFont =
+static LOGFONTW DefaultGuiFont =
 { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
   0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, L"MS Sans Serif" };
 
@@ -277,6 +278,9 @@ BOOL  GDIOBJ_FreeObj(HGDIOBJ hObj, WORD Magic, DWORD Flag)
                case GO_BRUSH_MAGIC:
                case GO_FONT_MAGIC:
                        break;
+               case GO_DCE_MAGIC:
+                       bRet = DCE_InternalDelete( (PDCE) Obj );
+                       break;
        }
        handleEntry->hProcessId = 0;
        ExFreePool (handleEntry->pObject);
@@ -521,18 +525,17 @@ VOID CreateStockObjects(void)
   StockObjects[NULL_PEN] =  W32kCreatePenIndirect(&NullPen);
   GDIOBJ_MarkObjectGlobal(StockObjects[NULL_PEN]);
 
-  StockObjects[OEM_FIXED_FONT] =      W32kCreateFontIndirect(&OEMFixedFont);
+  (void) TextIntCreateFontIndirect(&OEMFixedFont, &StockObjects[OEM_FIXED_FONT]);
   GDIOBJ_MarkObjectGlobal(StockObjects[OEM_FIXED_FONT]);
-  StockObjects[ANSI_FIXED_FONT] =     W32kCreateFontIndirect(&AnsiFixedFont);
+  (void) TextIntCreateFontIndirect(&AnsiFixedFont, &StockObjects[ANSI_FIXED_FONT]);
   GDIOBJ_MarkObjectGlobal(StockObjects[ANSI_FIXED_FONT]);
-  StockObjects[SYSTEM_FONT] =         W32kCreateFontIndirect(&SystemFont);
+  (void) TextIntCreateFontIndirect(&SystemFont, &StockObjects[SYSTEM_FONT]);
   GDIOBJ_MarkObjectGlobal(StockObjects[SYSTEM_FONT]);
-  StockObjects[DEVICE_DEFAULT_FONT] =
-    W32kCreateFontIndirect(&DeviceDefaultFont);
+  (void) TextIntCreateFontIndirect(&DeviceDefaultFont, &StockObjects[DEVICE_DEFAULT_FONT]);
   GDIOBJ_MarkObjectGlobal(StockObjects[DEVICE_DEFAULT_FONT]);
-  StockObjects[SYSTEM_FIXED_FONT] =   W32kCreateFontIndirect(&SystemFixedFont);
+  (void) TextIntCreateFontIndirect(&SystemFixedFont, &StockObjects[SYSTEM_FIXED_FONT]);
   GDIOBJ_MarkObjectGlobal(StockObjects[SYSTEM_FIXED_FONT]);
-  StockObjects[DEFAULT_GUI_FONT] =    W32kCreateFontIndirect(&DefaultGuiFont);
+  (void) TextIntCreateFontIndirect(&DefaultGuiFont, &StockObjects[DEFAULT_GUI_FONT]);
   GDIOBJ_MarkObjectGlobal(StockObjects[DEFAULT_GUI_FONT]);
 
   StockObjects[DEFAULT_PALETTE] = (HGDIOBJ*)PALETTE_Init();