[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [BUG] [PATCH] qemu vl.c vl.h
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [BUG] [PATCH] qemu vl.c vl.h |
Date: |
Mon, 11 Jun 2007 23:04:40 +0200 |
User-agent: |
IceDove 1.5.0.10 (X11/20070329) |
One more correction - I hope this is the last one.
Stefan
Stefan Weil schrieb:
> I'm sorry for sending a wrong patch. Here is a corrected version.
> Thank you, Thiemo, for your hint.
>
> Stefan
>
> Stefan Weil schrieb:
>> 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.2
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 21:03:29 -0000
@@ -4482,6 +4482,34 @@
}
/***********************************************************/
+/* dumb display */
+
+static void dumb_update(DisplayState *ds, int x, int y, int w, int h)
+{
+}
+
+static void dumb_resize(DisplayState *ds, int w, int h)
+{
+}
+
+static void dumb_refresh(DisplayState *ds)
+{
+#if defined(CONFIG_SDL)
+ vga_hw_update();
+#endif
+}
+
+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 */
#define MAX_IO_HANDLERS 64
@@ -7877,7 +7905,8 @@
/* terminal init */
memset(&display_state, 0, sizeof(display_state));
if (nographic) {
- /* nothing to do */
+ /* nearly nothing to do */
+ dumb_display_init(ds);
} else if (vnc_display != NULL) {
vnc_display_init(ds, vnc_display);
} else {