diff -Naur src_orig/openttd.cpp src_patch/openttd.cpp --- src_orig/openttd.cpp Wed Aug 8 20:09:36 2007 +++ src_patch/openttd.cpp Wed Aug 8 20:11:27 2007 @@ -629,12 +629,15 @@ if (_network_available) NetworkShutDown(); // Shut down the network and close any open connections + printf("openttd # before _video_driver->Stop(): %dx%d\n", _cur_resolution[0], _cur_resolution[1]); _video_driver->Stop(); + printf("openttd # after _video_driver->Stop(): %dx%d\n", _cur_resolution[0], _cur_resolution[1]); _music_driver->Stop(); _sound_driver->Stop(); /* only save config if we have to */ if (save_config) { + printf("opentdd # if (save_config): Saving CFG...\n"); SaveToConfig(); SaveToHighScore(); } diff -Naur src_orig/video/win32_v.cpp src_patch/video/win32_v.cpp --- src_orig/video/win32_v.cpp Wed Aug 8 20:09:35 2007 +++ src_patch/video/win32_v.cpp Wed Aug 8 20:11:23 2007 @@ -367,10 +367,12 @@ return 0; case WM_DESTROY: + printf("win32_v # WndProcGdi # case WM_DESTROY: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); if (_window_maximize) { _cur_resolution[0] = _bck_resolution[0]; _cur_resolution[1] = _bck_resolution[1]; } + printf("win32_v # WndProcGdi # case WM_DESTROY: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); return 0; case WM_LBUTTONDOWN: @@ -523,10 +525,12 @@ /* Set maximized flag when we maximize (obviously), but also when we * switched to fullscreen from a maximized state */ _window_maximize = (wParam == SIZE_MAXIMIZED || (_window_maximize && _fullscreen)); + printf("win32_v # WndProcGdi # case WM_SIZE: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); if (_window_maximize) { _bck_resolution[0] = _cur_resolution[0]; _bck_resolution[1] = _cur_resolution[1]; } + printf("win32_v # WndProcGdi # case WM_SIZE: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); ClientSizeChanged(LOWORD(lParam), HIWORD(lParam)); } return 0; @@ -623,6 +627,7 @@ case WM_ACTIVATE: { bool active = (LOWORD(wParam) != WA_INACTIVE); bool minimized = (HIWORD(wParam) != 0); + printf("active %d, minimize %d, fullscreen %d\n", active, minimized, _wnd.fullscreen); if (_wnd.fullscreen) { if (active && minimized) { /* Restore the game window */ @@ -634,7 +639,8 @@ ChangeDisplaySettings(NULL, 0); } } - } break; + } + return 0; #endif } @@ -790,14 +796,20 @@ void VideoDriver_Win32::Stop() { + printf("win32_v # VideoDriver_Win32::Stop # 1: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); DeleteObject(_wnd.gdi_palette); + printf("win32_v # VideoDriver_Win32::Stop # 2: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); DeleteObject(_wnd.dib_sect); + printf("win32_v # VideoDriver_Win32::Stop # 3: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); DestroyWindow(_wnd.main_wnd); #if !defined(WINCE) + printf("win32_v # VideoDriver_Win32::Stop # 4: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); if (_wnd.fullscreen) ChangeDisplaySettings(NULL, 0); #endif + printf("win32_v # VideoDriver_Win32::Stop # 5: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); MyShowCursor(true); + printf("win32_v # VideoDriver_Win32::Stop # r: %dx%d\n", _cur_resolution[0], _cur_resolution[1]); } void VideoDriver_Win32::MakeDirty(int left, int top, int width, int height)