sdl: Fix full screen toggling from scaled mode
authorJan Kiszka <jan.kiszka@siemens.com>
Sat, 30 Jul 2011 09:39:08 +0000 (11:39 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 5 Aug 2011 15:57:35 +0000 (10:57 -0500)
When switching to full screen mode from a scaled window, we need to
resize to DisplayState's dimension, not the scaled "real" screen size.
Moreover, scaling mode may have manipulated the bpp. So we need to
restore it from the DisplayState as well.

CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
ui/sdl.c

index e6c9597d37825f266d8f84fe5f8c0818f5b762be..4acfe81867090c762cf186a7f6175bd3e17a8214 100644 (file)
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -529,7 +529,8 @@ static void sdl_send_mouse_event(int dx, int dy, int dz, int x, int y, int state
 static void toggle_full_screen(DisplayState *ds)
 {
     gui_fullscreen = !gui_fullscreen;
-    do_sdl_resize(real_screen->w, real_screen->h, real_screen->format->BitsPerPixel);
+    do_sdl_resize(ds_get_width(ds), ds_get_height(ds),
+                  ds_get_bits_per_pixel(ds));
     if (gui_fullscreen) {
         scaling_active = 0;
         gui_saved_grab = gui_grab;