0d6c31a
diff -up BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp.fs BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp
0d6c31a
--- BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp.fs	2007-08-02 15:44:10.000000000 +0200
0d6c31a
+++ BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp	2007-11-30 20:46:53.000000000 +0100
0d6c31a
@@ -20,30 +20,8 @@ GLApplication::GLApplication() {
0d6c31a
 
0d6c31a
 int GLApplication::ToggleFullscreen() {
0d6c31a
 
0d6c31a
-  int errCode;
0d6c31a
-
0d6c31a
-  InvalidateDeviceObjects();
0d6c31a
-
0d6c31a
-  m_bWindowed = !m_bWindowed;
0d6c31a
-
0d6c31a
-  Uint32 flags;
0d6c31a
-  if( m_bWindowed ) flags = SDL_OPENGL;
0d6c31a
-  else              flags = SDL_OPENGL | SDL_FULLSCREEN;
0d6c31a
-
0d6c31a
-  if( SDL_SetVideoMode( m_screenWidth, m_screenHeight, 0, flags ) == NULL )
0d6c31a
-  {
0d6c31a
-    printf("SDL_SetVideoMode() failed.\n");
0d6c31a
-    return GL_FAIL;
0d6c31a
-  }
0d6c31a
-
0d6c31a
-  SDL_Surface *vSurf = SDL_GetVideoSurface();
0d6c31a
-  m_bitsPerPixel = vSurf->format->BitsPerPixel;
0d6c31a
-
0d6c31a
-  errCode = RestoreDeviceObjects();
0d6c31a
-	if( !errCode ) {
0d6c31a
-		printGlError();
0d6c31a
-		exit(1);
0d6c31a
-	}
0d6c31a
+  if (SDL_WM_ToggleFullScreen(SDL_GetVideoSurface()))
0d6c31a
+    m_bWindowed = !m_bWindowed;
0d6c31a
 
0d6c31a
   return GL_OK;
0d6c31a
     
0d6c31a
@@ -69,6 +47,8 @@ int GLApplication::Create(int width, int
0d6c31a
     printf("SDL_Init() failed : %s\n" , SDL_GetError() );
0d6c31a
     return GL_FAIL;    
0d6c31a
   }
0d6c31a
+  
0d6c31a
+  atexit(SDL_Quit);
0d6c31a
 
0d6c31a
   //SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);
0d6c31a
   SDL_EnableUNICODE( 1 );
0d6c31a
diff -up BlockOutII-2.3/BlockOut_GL/BlockOut.cpp.fs BlockOutII-2.3/BlockOut_GL/BlockOut.cpp
0d6c31a
--- BlockOutII-2.3/BlockOut_GL/BlockOut.cpp.fs	2007-08-02 15:44:09.000000000 +0200
0d6c31a
+++ BlockOutII-2.3/BlockOut_GL/BlockOut.cpp	2007-11-30 20:44:24.000000000 +0100
0d6c31a
@@ -120,7 +120,7 @@ int BlockOut::FrameMove()
0d6c31a
           break;
0d6c31a
         case 100: // Exit
0d6c31a
           InvalidateDeviceObjects();
0d6c31a
-          _exit(0);
0d6c31a
+          exit(0);
0d6c31a
           break;
0d6c31a
       }
0d6c31a
       break;