FreeBSD 3.4 compile fix.
[wine/gsoc_dplay.git] / dlls / gdi / gdi_main.c
blobe6d0132b251900c4361067acc6fb884c3c0c7ed9
1 /*
2 * GDI initialization code
3 */
5 #include "windef.h"
6 #include "wingdi.h"
7 #include "wine/winbase16.h"
9 #include "gdi.h"
10 #include "global.h"
11 #include "module.h"
12 #include "psdrv.h"
13 #include "tweak.h"
14 #include "win16drv.h"
17 /***********************************************************************
18 * GDI initialisation routine
20 BOOL WINAPI MAIN_GdiInit(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
22 NE_MODULE *pModule;
24 if ( GDI_HeapSel ) return TRUE;
26 /* Create GDI heap */
27 pModule = NE_GetPtr( GetModuleHandle16( "GDI" ) );
28 if ( pModule )
30 GDI_HeapSel = GlobalHandleToSel16( (NE_SEG_TABLE( pModule ) +
31 pModule->dgroup - 1)->hSeg );
33 else
35 GDI_HeapSel = GlobalAlloc16( GMEM_FIXED, GDI_HEAP_SIZE );
36 LocalInit16( GDI_HeapSel, 0, GDI_HEAP_SIZE-1 );
39 if (!TWEAK_Init()) return FALSE;
41 /* GDI initialisation */
42 if(!GDI_Init()) return FALSE;
44 /* Create the Win16 printer driver */
45 if (!WIN16DRV_Init()) return FALSE;
47 /* PSDRV initialization */
48 if(!PSDRV_Init()) return FALSE;
50 return TRUE;