Fixed crash:
#include <SDL.h>
int main(int argc, char** argv)
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_SetVideoMode(640, 480, 0, SDL_FULLSCREEN);
SDL_ShowCursor(SDL_DISABLE);
SDL_Delay(1000);
SDL_SetVideoMode(640, 480, 0, SDL_FULLSCREEN | SDL_OPENGL);
SDL_Quit();
printf("Everything okay\n");
}
--- a/src/video/SDL_cursor.c Mon Jan 30 06:56:10 2006 +0000
+++ b/src/video/SDL_cursor.c Mon Jan 30 13:30:44 2006 +0000
@@ -208,9 +208,9 @@
if ( SDL_cursor && (SDL_cursorstate&CURSOR_VISIBLE) ) {
/* Use window manager cursor if possible */
if ( SDL_cursor->wm_cursor &&
- video->ShowWMCursor(this, SDL_cursor->wm_cursor) )
+ video->ShowWMCursor(this, SDL_cursor->wm_cursor) ) {
SDL_cursorstate &= ~CURSOR_USINGSW;
- else {
+ } else {
SDL_cursorstate |= CURSOR_USINGSW;
if ( video->ShowWMCursor ) {
video->ShowWMCursor(this, NULL);
--- a/src/video/SDL_video.c Mon Jan 30 06:56:10 2006 +0000
+++ b/src/video/SDL_video.c Mon Jan 30 13:30:44 2006 +0000
@@ -643,6 +643,7 @@
/* Reset the keyboard here so event callbacks can run */
SDL_ResetKeyboard();
SDL_ResetMouse();
+ SDL_cursorstate &= ~CURSOR_USINGSW;
/* Clean up any previous video mode */
if ( SDL_PublicSurface != NULL ) {