aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorAndre Heider2010-04-19 20:25:20 +0000
committerAndre Heider2010-04-19 20:25:20 +0000
commiteb05f83a08b4b0acc9dee662eca36540b25a369c (patch)
tree00a177a21cd123139fc5a8d2dfdd00a57860111a /backends
parent75f7536ca18ce6e72e21f961d214b31f695378fd (diff)
downloadscummvm-rg350-eb05f83a08b4b0acc9dee662eca36540b25a369c.tar.gz
scummvm-rg350-eb05f83a08b4b0acc9dee662eca36540b25a369c.tar.bz2
scummvm-rg350-eb05f83a08b4b0acc9dee662eca36540b25a369c.zip
Reinit the video mode when showing the console on an abnormal exit. This was not sccessful under some circumstances.
svn-id: r48727
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/wii/main.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/backends/platform/wii/main.cpp b/backends/platform/wii/main.cpp
index a0a28501cc..627cc7d1db 100644
--- a/backends/platform/wii/main.cpp
+++ b/backends/platform/wii/main.cpp
@@ -62,16 +62,30 @@ void power_cb(void) {
}
static void show_console(int code) {
- u32 b;
+ u32 i, b;
printf("ScummVM exited abnormally (%d).\n", code);
gfx_frame_abort();
+ gfx_init();
+
+ if (!gfx_frame_start())
+ return;
+
+ gfx_con_draw();
+ gfx_frame_end();
+
+ for (i = 0; i < 60 * 3; ++i)
+ VIDEO_WaitVSync();
+
+ printf("Press any key to continue.\n");
+
if (!gfx_frame_start())
return;
gfx_con_draw();
gfx_frame_end();
+ VIDEO_WaitVSync();
while (true) {
b = 0;
@@ -90,6 +104,15 @@ static void show_console(int code) {
VIDEO_WaitVSync();
}
+
+ printf("\n\nExiting...\n");
+
+ if (!gfx_frame_start())
+ return;
+
+ gfx_con_draw();
+ gfx_frame_end();
+ VIDEO_WaitVSync();
}
s32 reset_func(s32 final) {