[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [BUG] [PATCH] qemu vl.c vl.h
From: |
Stefan Weil |
Subject: |
[Qemu-devel] [BUG] [PATCH] qemu vl.c vl.h |
Date: |
Mon, 11 Jun 2007 22:27:13 +0200 |
User-agent: |
IceDove 1.5.0.10 (X11/20070329) |
Removing dumb_display_init introduced a bug for -nographic mode.
QEMU crashs when dpy_update (or dpy_resize) is called, because
the corresponding function pointers are zero.
The patch adds dumb_display_init again (and declares it static
because it is only used locally in vl.c).
Stefan
Thiemo Seufer schrieb:
> CVSROOT: /sources/qemu
> Module name: qemu
> Changes by: Thiemo Seufer <ths> 07/06/08 01:57:57
>
> Modified files:
> . : vl.c vl.h
>
> Log message:
> Don't refresh a graphical screen when it isn't displayed, by Herve
> Poussineau.
>
> CVSWeb URLs:
> http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemu&r1=1.304&r2=1.305
> http://cvs.savannah.gnu.org/viewcvs/qemu/vl.h?cvsroot=qemu&r1=1.249&r2=1.250
Index: vl.c
===================================================================
RCS file: /sources/qemu/qemu/vl.c,v
retrieving revision 1.306
diff -u -b -B -r1.306 vl.c
--- vl.c 10 Jun 2007 19:21:04 -0000 1.306
+++ vl.c 11 Jun 2007 20:20:41 -0000
@@ -4481,6 +4481,16 @@
"Empty");
}
+static void dumb_display_init(DisplayState *ds)
+{
+ ds->data = NULL;
+ ds->linesize = 0;
+ ds->depth = 0;
+ ds->dpy_update = dumb_update;
+ ds->dpy_resize = dumb_resize;
+ ds->dpy_refresh = dumb_refresh;
+}
+
/***********************************************************/
/* I/O handling */
@@ -4804,7 +4814,8 @@
int64_t qemu_fseek(QEMUFile *f, int64_t pos, int whence)
{
if (whence == SEEK_SET) {
- /* nothing to do */
+ /* nearly nothing to do */
+ dumb_display_init(ds);
} else if (whence == SEEK_CUR) {
pos += qemu_ftell(f);
} else {