qemu vl.c vl.h
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
PATCH 1/1 qemu vl.c vl.h
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
Quoted 7 lines · Thiemo Seufer
CVSROOT: /sources/qemu
Module name: qemu
Changes by: Thiemo Seufer <ths> 07/06/08 01:57:57Modified files:
. :vl.cvl.h
Quoted 7 lines
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
vl.c +12 -1
@@ -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 {
I'm sorry for sending a wrong patch. Here is a corrected version. Thank you, Thiemo, for your hint.
Stefan
Quoted 4 lines · Stefan Weil
Removing
dumb_display_initintroduced a bug for -nographic mode. QEMU crashs whendpy_update(ordpy_resize) is called, because the corresponding function pointers are zero.
Quoted 21 lines
The patch adds
dumb_display_initagain (and declares it static because it is only used locally invl.c).Stefan
Quoted 14 lines · Thiemo Seufer
CVSROOT: /sources/qemu
Module name: qemu
Changes by: Thiemo Seufer <ths> 07/06/08 01:57:57Modified files:
. :vl.cvl.hLog 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
vl.c +12 -1
@@ -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 {
One more correction - I hope this is the last one.
Stefan
Quoted 31 lines · Stefan Weil
I'm sorry for sending a wrong patch. Here is a corrected version. Thank you, Thiemo, for your hint.
Stefan
Quoted 25 lines · Stefan Weil
Removing
dumb_display_initintroduced a bug for -nographic mode. QEMU crashs whendpy_update(ordpy_resize) is called, because the corresponding function pointers are zero.The patch adds
dumb_display_initagain (and declares it static because it is only used locally invl.c).Stefan
Quoted 14 lines · Thiemo Seufer
CVSROOT: /sources/qemu
Module name: qemu
Changes by: Thiemo Seufer <ths> 07/06/08 01:57:57Modified files:
. :vl.cvl.hLog 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
vl.c +30 -1
@@ -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 {