diff --git a/win32ss/gdi/ntgdi/init.c b/win32ss/gdi/ntgdi/init.c index 35bab0f6029..44afa1219df 100644 --- a/win32ss/gdi/ntgdi/init.c +++ b/win32ss/gdi/ntgdi/init.c @@ -7,10 +7,9 @@ */ #include +DBG_DEFAULT_CHANNEL(UserMisc); -#define NDEBUG -#include -#include +USHORT gusLanguageID; BOOL NTAPI GDI_CleanupForProcess(struct _EPROCESS *Process); @@ -77,6 +76,29 @@ GdiThreadDestroy(PETHREAD Thread) } +BOOL +InitializeGreCSRSS(VOID) +{ + /* Initialize DirectX graphics driver */ + if (DxDdStartupDxGraphics(0, NULL, 0, NULL, NULL, gpepCSRSS) != STATUS_SUCCESS) + { + ERR("Unable to initialize DirectX graphics\n"); + return FALSE; + } + + /* Get global language ID */ + gusLanguageID = UserGetLanguageID(); + + /* Initialize FreeType library */ + if (!InitFontSupport()) + { + ERR("Unable to initialize font support\n"); + return FALSE; + } + + return TRUE; +} + /* * @implemented */ diff --git a/win32ss/gdi/ntgdi/misc.h b/win32ss/gdi/ntgdi/misc.h index 6757acce4c0..06fa17b8255 100644 --- a/win32ss/gdi/ntgdi/misc.h +++ b/win32ss/gdi/ntgdi/misc.h @@ -23,7 +23,9 @@ extern BOOL APIENTRY IntEngLeave(PINTENG_ENTER_LEAVE EnterLeave); extern HGDIOBJ StockObjects[]; extern USHORT gusLanguageID; +BOOL InitializeGreCSRSS(VOID); USHORT FASTCALL UserGetLanguageID(VOID); + PVOID APIENTRY HackSecureVirtualMemory(IN PVOID,IN SIZE_T,IN ULONG,OUT PVOID *); VOID APIENTRY HackUnsecureVirtualMemory(IN PVOID); diff --git a/win32ss/user/ntuser/main.c b/win32ss/user/ntuser/main.c index bdb36d45236..235e8aee696 100644 --- a/win32ss/user/ntuser/main.c +++ b/win32ss/user/ntuser/main.c @@ -26,7 +26,6 @@ NTSTATUS GdiThreadDestroy(PETHREAD Thread); PSERVERINFO gpsi = NULL; // Global User Server Information. -USHORT gusLanguageID; PPROCESSINFO ppiScrnSaver; PPROCESSINFO gppiList = NULL; @@ -1051,15 +1050,6 @@ DriverEntry( NT_ROF(InitTimerImpl()); NT_ROF(InitDCEImpl()); - gusLanguageID = UserGetLanguageID(); - - /* Initialize FreeType library */ - if (!InitFontSupport()) - { - DPRINT1("Unable to initialize font support\n"); - return Status; - } - return STATUS_SUCCESS; } diff --git a/win32ss/user/ntuser/ntuser.c b/win32ss/user/ntuser/ntuser.c index fd2f5f97e93..6643495606d 100644 --- a/win32ss/user/ntuser/ntuser.c +++ b/win32ss/user/ntuser/ntuser.c @@ -198,12 +198,9 @@ NtUserInitialize( // Initialize Power Request List (use hPowerRequestEvent). // Initialize Media Change (use hMediaRequestEvent). -// InitializeGreCSRSS(); -// { -// Startup DxGraphics. -// calls ** UserGetLanguageID() and sets it **. -// Enables Fonts drivers, Initialize Font table & Stock Fonts. -// } + /* Initialize various GDI stuff (DirectX, fonts, language ID etc.) */ + if (!InitializeGreCSRSS()) + return STATUS_UNSUCCESSFUL; /* Initialize USER */ Status = UserInitialize();