diff --git a/stepmania/src/archutils/Unix/X11Helper.cpp b/stepmania/src/archutils/Unix/X11Helper.cpp index 0086c2c2b9..053dd196dd 100644 --- a/stepmania/src/archutils/Unix/X11Helper.cpp +++ b/stepmania/src/archutils/Unix/X11Helper.cpp @@ -13,6 +13,9 @@ static vector g_aiMasks; // Number of subsystems using the X connection: static int g_iRefCount = 0; +// Do we have a window? +static bool g_bHaveWin = false; + Display *X11Helper::Dpy = NULL; Window X11Helper::Win; @@ -68,7 +71,7 @@ bool X11Helper::CloseMask( long mask ) static bool pApplyMasks() { - if( X11Helper::Dpy == NULL ) + if( X11Helper::Dpy == NULL | !g_bHaveWin ) return true; LOG->Trace("X11Helper: Reapplying event masks."); @@ -85,16 +88,15 @@ static bool pApplyMasks() bool X11Helper::MakeWindow( int screenNum, int depth, Visual *visual, int width, int height ) { - static bool pHaveWin = false; vector::iterator i; if( g_iRefCount == 0 ) return false; - if( pHaveWin ) + if( g_bHaveWin ) { XDestroyWindow( Dpy, Win ); - pHaveWin = false; + g_bHaveWin = false; } // pHaveWin will stay false if an error occurs once I do error // checking here...