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.25
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:43:35 -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 */ @@ -7877,7 +7887,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 {