diff options
| author | Johannes Schickel | 2013-10-21 01:03:29 +0200 | 
|---|---|---|
| committer | Kamil Zbróg | 2013-10-24 12:59:16 +0100 | 
| commit | 06e4b3e060756dd1be1d86919af48afa8496e24b (patch) | |
| tree | ff1b7f6e4608d91c9eceae85f5f85c54b19f6d73 /backends/platform/sdl | |
| parent | 4834017476f0abf8a4724179191c7fd1ed319fa2 (diff) | |
| download | scummvm-rg350-06e4b3e060756dd1be1d86919af48afa8496e24b.tar.gz scummvm-rg350-06e4b3e060756dd1be1d86919af48afa8496e24b.tar.bz2 scummvm-rg350-06e4b3e060756dd1be1d86919af48afa8496e24b.zip | |
SDL: Do not require a static graphics mode list in OpenGL and SurfaceSDL.
Diffstat (limited to 'backends/platform/sdl')
| -rw-r--r-- | backends/platform/sdl/sdl.cpp | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index 39865c85c6..327dfe21b9 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -651,21 +651,26 @@ void OSystem_SDL::setupGraphicsModes() {  	_graphicsModes.clear();  	_graphicsModeIds.clear(); -	const OSystem::GraphicsMode *sdlGraphicsModes = SurfaceSdlGraphicsManager::supportedGraphicsModes(); -	const OSystem::GraphicsMode *openglGraphicsModes = OpenGLSdlGraphicsManager::supportedGraphicsModes(); -  	// Count the number of graphics modes -	const OSystem::GraphicsMode *srcMode = sdlGraphicsModes; +	const OSystem::GraphicsMode *srcMode; + +	GraphicsManager *manager = new SurfaceSdlGraphicsManager(_eventSource); +	srcMode = manager->getSupportedGraphicsModes();  	while (srcMode->name) {  		_graphicsModes.push_back(*srcMode);  		srcMode++;  	} +	delete manager; +  	_firstGLMode = _graphicsModes.size(); -	srcMode = openglGraphicsModes; +	manager = new OpenGLSdlGraphicsManager(_desktopWidth, _desktopHeight, _eventSource); +	srcMode = manager->getSupportedGraphicsModes();  	while (srcMode->name) {  		_graphicsModes.push_back(*srcMode);  		srcMode++;  	} +	delete manager; +	manager = nullptr;  	// Set a null mode at the end  	GraphicsMode nullMode; | 
