Mercurial > sdl-ios-xcode
changeset 1241:4b2146866b82
Properly restore vidmode when switching back to SDL's virtual terminal with
the fbcon driver: Fixes Bugzilla #37.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Tue, 10 Jan 2006 20:52:35 +0000 |
parents | 3b8a43c428bb |
children | caf0328c8058 |
files | src/video/fbcon/SDL_fbevents.c |
diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/fbcon/SDL_fbevents.c Sun Jan 08 21:18:15 2006 +0000 +++ b/src/video/fbcon/SDL_fbevents.c Tue Jan 10 20:52:35 2006 +0000 @@ -882,6 +882,7 @@ */ static void switch_vt(_THIS, unsigned short which) { + struct fb_var_screeninfo vinfo; struct vt_stat vtstate; unsigned short v_active; SDL_Surface *screen; @@ -906,6 +907,7 @@ memcpy(screen_contents, screen->pixels, screen_arealen); } FB_SavePaletteTo(this, 256, saved_pal); + ioctl(console_fd, FBIOGET_VSCREENINFO, &vinfo); ioctl(keyboard_fd, KDSETMODE, KD_TEXT); /* New console, switch to it */ @@ -923,6 +925,7 @@ /* Restore graphics mode and the contents of the screen */ ioctl(keyboard_fd, KDSETMODE, KD_GRAPHICS); + ioctl(console_fd, FBIOPUT_VSCREENINFO, &vinfo); FB_RestorePaletteFrom(this, 256, saved_pal); if ( screen_contents ) { memcpy(screen->pixels, screen_contents, screen_arealen);