qemu-devel
[Top][All Lists]
Advanced

[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 {

reply via email to

[Prev in Thread] Current Thread [Next in Thread]