File beebem-0.0.13_menu_crash.patch of Package beebem
diff -Naur beebem-0.0.13/src/sdl.cpp beebem-0.0.13_menu_crash/src/sdl.cpp
--- beebem-0.0.13/src/sdl.cpp 2006-11-06 00:38:32.000000000 +0000
+++ beebem-0.0.13_menu_crash/src/sdl.cpp 2008-07-06 08:28:52.000000000 +0100
@@ -571,6 +571,10 @@
//printf("2: flags set\n");
+ /* Make sure screen surface was free'd.
+ */
+ if (screen_ptr != NULL) Destroy_Screen();
+
// if ( (screen_ptr=SDL_SetVideoMode(SDL_WINDOW_WIDTH, SDL_WINDOW_HEIGHT
if ( (screen_ptr=SDL_SetVideoMode(width, height
, 8, flags ) ) == NULL){
@@ -580,6 +584,10 @@
return false;
}
+ /* Update GUI pointers to screen surface.
+ */
+ ClearWindowsBackgroundCacheAndResetSurface();
+
//printf("3: SDL_SetVideoMode called\n");