Changeset - r5217:1502f22f9419
[Not reviewed]
master
0 2 0
rubidium - 17 years ago 2006-12-03 17:42:56
rubidium@openttd.org
(svn r7332) -Fix: segmentation fault, discovered by ln-, in the SDL video driver when one goes to fullscreen and there are no suitable resolutions.
2 files changed with 9 insertions and 2 deletions:
0 comments (0 inline, 0 general)
gfx.c
Show inline comments
 
@@ -15,6 +15,7 @@
 
#include "table/control_codes.h"
 
#include "fontcache.h"
 
#include "genworld.h"
 
#include "debug.h"
 

	
 
#ifdef _DEBUG
 
bool _dbg_screen_rect;
 
@@ -1998,7 +1999,13 @@ bool ChangeResInGame(int w, int h)
 
		_video_driver->change_resolution(w, h);
 
}
 

	
 
void ToggleFullScreen(bool fs) {_video_driver->toggle_fullscreen(fs);}
 
void ToggleFullScreen(bool fs)
 
{
 
	_video_driver->toggle_fullscreen(fs);
 
	if (_fullscreen != fs && _num_resolutions == 0) {
 
		DEBUG(misc, 0) ("Could not find a suitable fullscreen resolution.");
 
	}
 
}
 

	
 
static int CDECL compare_res(const void *pa, const void *pb)
 
{
video/sdl_v.c
Show inline comments
 
@@ -495,7 +495,7 @@ static void SdlVideoFullScreen(bool full
 
{
 
	_fullscreen = full_screen;
 
	GetVideoModes(); // get the list of available video modes
 
	if (!_video_driver->change_resolution(_cur_resolution[0], _cur_resolution[1])) {
 
	if (_num_resolutions == 0 || !_video_driver->change_resolution(_cur_resolution[0], _cur_resolution[1])) {
 
		// switching resolution failed, put back full_screen to original status
 
		_fullscreen ^= true;
 
	}
0 comments (0 inline, 0 general)