summary refs log tree commit diff stats
path: root/hw/blizzard.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-02-24 12:43:45 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2012-02-24 13:36:05 -0600
commit45efb16124efef51de5157afc31984b5a47700f9 (patch)
tree3f391912a9c7d6172c3abf861bf2e56accdf8aae /hw/blizzard.c
parent167351020420c285b67cdf0603501b3d3b15e3f7 (diff)
downloadfocaccia-qemu-45efb16124efef51de5157afc31984b5a47700f9.tar.gz
focaccia-qemu-45efb16124efef51de5157afc31984b5a47700f9.zip
optimize screendump for the common non-switch case
switch console only if needed, also pass down whenever the console was
switched or not because a displaysurface redraw is only needed in case
the console was switched.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/blizzard.c')
-rw-r--r--hw/blizzard.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/hw/blizzard.c b/hw/blizzard.c
index b2c1b22844..c7d844d105 100644
--- a/hw/blizzard.c
+++ b/hw/blizzard.c
@@ -932,10 +932,14 @@ static void blizzard_update_display(void *opaque)
     s->my[1] = 0;
 }
 
-static void blizzard_screen_dump(void *opaque, const char *filename) {
+static void blizzard_screen_dump(void *opaque, const char *filename,
+                                 bool cswitch)
+{
     BlizzardState *s = (BlizzardState *) opaque;
 
-    blizzard_update_display(opaque);
+    if (cswitch) {
+        blizzard_update_display(opaque);
+    }
     if (s && ds_get_data(s->state))
         ppm_save(filename, s->state->surface);
 }