diff options
author | rubidium <rubidium@openttd.org> | 2009-06-30 12:38:18 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-06-30 12:38:18 +0000 |
commit | c29afac0a7264b7a3ab2cb3880abd5ba5ad4a8b5 (patch) | |
tree | bca01c5527e1d48a9328204fafb30339c038d254 /src/video/allegro_v.cpp | |
parent | 791187cd12e0f784925c593d6ddc3e46c3f5ce1d (diff) | |
download | openttd-c29afac0a7264b7a3ab2cb3880abd5ba5ad4a8b5.tar.xz |
(svn r16700) -Fix: if allegro fails to start or fails open a window or sound card fall back to another driver
Diffstat (limited to 'src/video/allegro_v.cpp')
-rw-r--r-- | src/video/allegro_v.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp index de0a08eed..61ce20f13 100644 --- a/src/video/allegro_v.cpp +++ b/src/video/allegro_v.cpp @@ -404,7 +404,7 @@ int _allegro_instance_count = 0; const char *VideoDriver_Allegro::Start(const char * const *parm) { - if (_allegro_instance_count == 0 && install_allegro(SYSTEM_AUTODETECT, &errno, NULL)) return NULL; + if (_allegro_instance_count == 0 && install_allegro(SYSTEM_AUTODETECT, &errno, NULL)) return "Failed to set up Allegro"; _allegro_instance_count++; install_timer(); @@ -425,7 +425,9 @@ const char *VideoDriver_Allegro::Start(const char * const *parm) #endif GetVideoModes(); - CreateMainSurface(_cur_resolution.width, _cur_resolution.height); + if (!CreateMainSurface(_cur_resolution.width, _cur_resolution.height)) { + return "Failed to set up Allegro video"; + } MarkWholeScreenDirty(); set_close_button_callback(HandleExitGameRequest); |