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

to fail silently.
This commit is contained in:
Josh DuBois 2001-01-17 21:51:07 +00:00 committed by Alexandre Julliard
parent ec33cd6959
commit 46fb7e0057
3 changed files with 18 additions and 12 deletions

View File

@ -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;

View File

@ -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 {

View File

@ -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;
}
/***********************************************************************