From 6adc12545cd9883e9403b87afdb87a267043db5d Mon Sep 17 00:00:00 2001 From: zakk Date: Thu, 1 Sep 2005 00:24:56 +0000 Subject: From Cameron Eure: Fixes a problem in code/unix/linux_glimp_sdl.c where attributes are called before there's a working visual, resulting in a crash. git-svn-id: svn://svn.icculus.org/quake3/trunk@55 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/unix/linux_glimp_sdl.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'code') diff --git a/code/unix/linux_glimp_sdl.c b/code/unix/linux_glimp_sdl.c index 4026e0b..5c1c9a3 100644 --- a/code/unix/linux_glimp_sdl.c +++ b/code/unix/linux_glimp_sdl.c @@ -638,18 +638,22 @@ static int GLW_SetMode( const char *drivername, int mode, qboolean fullscreen ) if (tcolorbits == 24) sdlcolorbits = 8; - SDL_GL_SetAttribute( SDL_GL_RED_SIZE, sdlcolorbits ); - SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, sdlcolorbits ); - SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, sdlcolorbits ); - SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, tdepthbits ); - SDL_GL_SetAttribute( SDL_GL_STENCIL_SIZE, tstencilbits ); - SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); - - SDL_WM_SetCaption(WINDOW_CLASS_NAME, WINDOW_CLASS_NAME_BRIEF); - SDL_ShowCursor(0); - SDL_EnableUNICODE(1); - SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); - sdlrepeatenabled = qtrue; + + /* Cameron Eure - Please don't set attributes unless we have a working visual. */ + if (vidscreen != NULL){ + SDL_GL_SetAttribute( SDL_GL_RED_SIZE, sdlcolorbits ); + SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, sdlcolorbits ); + SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, sdlcolorbits ); + SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, tdepthbits ); + SDL_GL_SetAttribute( SDL_GL_STENCIL_SIZE, tstencilbits ); + SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); + + SDL_WM_SetCaption(WINDOW_CLASS_NAME, WINDOW_CLASS_NAME_BRIEF); + SDL_ShowCursor(0); + SDL_EnableUNICODE(1); + SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + sdlrepeatenabled = qtrue; +} if (!(vidscreen = SDL_SetVideoMode(glConfig.vidWidth, glConfig.vidHeight, colorbits, flags))) { -- cgit v1.2.3