From b20bc51640d4b072202048b63c58091ebe9ddb76 Mon Sep 17 00:00:00 2001 From: havoc Date: Mon, 9 May 2005 20:26:27 +0000 Subject: [PATCH] fix VID_Shutdown ungrabs git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5259 d7cf8633-e32d-0410-b094-e92efae38249 --- vid_glx.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/vid_glx.c b/vid_glx.c index 48ab6c82..b0553f30 100644 --- a/vid_glx.c +++ b/vid_glx.c @@ -249,12 +249,11 @@ static Cursor CreateNullCursor(Display *display, Window root) static void IN_Activate (qboolean grab) { - if (!mouse_avail || !vidx11_display || !win) + if (!vidx11_display) return; - if (grab) { - if (!vid_usingmouse) + if (!vid_usingmouse && mouse_avail && win) { XWindowAttributes attribs_1; XSetWindowAttributes attribs_2; @@ -302,15 +301,16 @@ static void IN_Activate (qboolean grab) if (vid_usingmouse) { #ifndef __APPLE__ - if (vid_dga.integer == 1) + if (vid_dga.integer) XF86DGADirectVideo(vidx11_display, DefaultScreen(vidx11_display), 0); #endif XUngrabPointer(vidx11_display, CurrentTime); XUngrabKeyboard(vidx11_display, CurrentTime); - // inviso cursor - XUndefineCursor(vidx11_display, win); + // inviso cursor + if (win) + XUndefineCursor(vidx11_display, win); ignoremousemove = true; vid_usingmouse = false; @@ -576,12 +576,10 @@ void VID_Shutdown(void) if (!ctx || !vidx11_display) return; - vid_hidden = true; - vid_usingmouse = false; if (vidx11_display) { - VID_RestoreSystemGamma(); IN_Activate(false); + VID_RestoreSystemGamma(); // FIXME: glXDestroyContext here? if (vid_isfullscreen) @@ -590,6 +588,7 @@ void VID_Shutdown(void) XDestroyWindow(vidx11_display, win); XCloseDisplay(vidx11_display); } + vid_hidden = true; vid_isfullscreen = false; vidx11_display = NULL; win = 0; -- 2.39.2