comparison src/video/SDL_video.c @ 229:4d24d5a660a8

Fix a crash if an OpenGL video mode can't be set.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 04 Nov 2001 04:18:27 +0000
parents e2a10730ae94
children e8157fcb3114
comparison
equal deleted inserted replaced
228:153f221b7d48 229:4d24d5a660a8
613 SDL_LockCursor(); 613 SDL_LockCursor();
614 SDL_VideoSurface = NULL; /* In case it's freed by driver */ 614 SDL_VideoSurface = NULL; /* In case it's freed by driver */
615 mode = video->SetVideoMode(this, prev_mode,video_w,video_h,video_bpp,flags); 615 mode = video->SetVideoMode(this, prev_mode,video_w,video_h,video_bpp,flags);
616 if ( mode ) { /* Prevent resize events from mode change */ 616 if ( mode ) { /* Prevent resize events from mode change */
617 SDL_PrivateResize(mode->w, mode->h); 617 SDL_PrivateResize(mode->w, mode->h);
618
619 /* Sam - If we asked for OpenGL mode, and didn't get it, fail */
620 if ( is_opengl && !(mode->flags & SDL_OPENGL) ) {
621 mode = NULL;
622 }
618 } 623 }
619 /* Sam - If we asked for an OpenGL mode, but didn't get it, fail */
620 if ( is_opengl && !(mode->flags & SDL_OPENGL) ) {
621 mode = NULL;
622 }
623 /* 624 /*
624 * rcg11292000 625 * rcg11292000
625 * If you try to set an SDL_OPENGL surface, and fail to find a 626 * If you try to set an SDL_OPENGL surface, and fail to find a
626 * matching visual, then the next call to SDL_SetVideoMode() 627 * matching visual, then the next call to SDL_SetVideoMode()
627 * will segfault, since we no longer point to a dummy surface, 628 * will segfault, since we no longer point to a dummy surface,