Commit 46fb7e00 authored by Josh DuBois's avatar Josh DuBois Committed by Alexandre Julliard

Make some noise in a few cases where the X11drv doesn't load, but used

to fail silently.
parent ec33cd69
......@@ -369,7 +369,12 @@ static void process_attach(void)
}
/* initialize GDI */
X11DRV_GDI_Initialize();
if(!X11DRV_GDI_Initialize())
{
MESSAGE( "%s: X11DRV Couldn't Initialize GDI.\n", argv0 );
ExitProcess(1);
}
/* save keyboard setup */
TSXGetKeyboardControl(display, &keyboard_state);
......@@ -425,15 +430,13 @@ static void process_detach(void)
*/
BOOL WINAPI X11DRV_Init( HINSTANCE hinst, DWORD reason, LPVOID reserved )
{
static int process_count;
switch(reason)
{
case DLL_PROCESS_ATTACH:
if (!process_count++) process_attach();
process_attach();
break;
case DLL_PROCESS_DETACH:
if (!--process_count) process_detach();
process_detach();
break;
}
return TRUE;
......
......@@ -336,7 +336,7 @@ extern BOOL X11DRV_GetClipboardData(UINT wFormat);
extern WORD X11DRV_EVENT_XStateToKeyState( int state ) ;
extern BOOL X11DRV_EVENT_Init(void);
extern void X11DRV_EVENT_Init(void);
extern void X11DRV_Synchronize( void );
typedef enum {
......
......@@ -151,8 +151,10 @@ static BOOL in_transition = FALSE; /* This is not used as for today */
/***********************************************************************
* EVENT_Init
*/
BOOL X11DRV_EVENT_Init(void)
void X11DRV_EVENT_Init(void)
{
HANDLE service;
#ifdef HAVE_LIBXXSHM
ShmAvailable = XShmQueryExtension( display );
if (ShmAvailable) {
......@@ -161,17 +163,18 @@ BOOL X11DRV_EVENT_Init(void)
#endif
/* Install the X event processing callback */
SERVICE_AddObject( FILE_DupUnixHandle( ConnectionNumber(display),
GENERIC_READ | SYNCHRONIZE ),
EVENT_ProcessAllEvents, 0 );
if (SERVICE_AddObject( FILE_DupUnixHandle( ConnectionNumber(display), GENERIC_READ|SYNCHRONIZE ),
EVENT_ProcessAllEvents, 0 ) == INVALID_HANDLE_VALUE)
{
ERR("cannot add service object\n");
ExitProcess(1);
}
/* Install the XFlush timer callback */
if ( Options.synchronous )
TSXSynchronize( display, True );
else
SERVICE_AddTimer( 200, EVENT_Flush, 0 );
return TRUE;
}
/***********************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment