Skip to content

Commit

Permalink
Properly restore vidmode when switching back to SDL's virtual termina…
Browse files Browse the repository at this point in the history
…l with

 the fbcon driver: Fixes Bugzilla #37.
  • Loading branch information
icculus committed Jan 10, 2006
1 parent 7166e34 commit 430d8af
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/video/fbcon/SDL_fbevents.c
Expand Up @@ -882,6 +882,7 @@ static void handle_mouse(_THIS)
*/
static void switch_vt(_THIS, unsigned short which)
{
struct fb_var_screeninfo vinfo;
struct vt_stat vtstate;
unsigned short v_active;
SDL_Surface *screen;
Expand All @@ -906,6 +907,7 @@ static void switch_vt(_THIS, unsigned short which)
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 */
Expand All @@ -923,6 +925,7 @@ static void switch_vt(_THIS, unsigned short which)

/* 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);
Expand Down

0 comments on commit 430d8af

Please sign in to comment.