@@ -471,9 +471,9 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp);
/* curses.c */
#ifdef CONFIG_CURSES
-void curses_display_init(DisplayState *ds, int full_screen);
+void curses_display_init(DisplayState *ds, DisplayOptions *opts);
#else
-static inline void curses_display_init(DisplayState *ds, int full_screen)
+static inline void curses_display_init(DisplayState *ds, DisplayOptions *opts)
{
/* This must never be called if CONFIG_CURSES is disabled */
error_report("curses support is disabled");
@@ -434,7 +434,7 @@ static const DisplayChangeListenerOps dcl_ops = {
.dpy_text_cursor = curses_cursor_position,
};
-void curses_display_init(DisplayState *ds, int full_screen)
+void curses_display_init(DisplayState *ds, DisplayOptions *opts)
{
#ifndef _WIN32
if (!isatty(1)) {
@@ -2186,6 +2186,7 @@ static LegacyDisplayType select_display(const char *p)
} else if (strstart(p, "curses", &opts)) {
#ifdef CONFIG_CURSES
display = DT_CURSES;
+ dpy.type = DISPLAY_TYPE_CURSES;
#else
error_report("curses support is disabled");
exit(1);
@@ -3268,6 +3269,7 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_curses:
#ifdef CONFIG_CURSES
display_type = DT_CURSES;
+ dpy.type = DISPLAY_TYPE_CURSES;
#else
error_report("curses support is disabled");
exit(1);
@@ -4697,7 +4699,7 @@ int main(int argc, char **argv, char **envp)
/* init local displays */
switch (display_type) {
case DT_CURSES:
- curses_display_init(ds, full_screen);
+ curses_display_init(ds, &dpy);
break;
case DT_SDL:
sdl_display_init(ds, &dpy);
@@ -1020,7 +1020,7 @@
#
##
{ 'enum' : 'DisplayType',
- 'data' : [ 'none', 'gtk', 'sdl', 'egl-headless' ] }
+ 'data' : [ 'none', 'gtk', 'sdl', 'egl-headless', 'curses' ] }
##
# @DisplayOptions:
@@ -1044,4 +1044,5 @@
'data' : { 'none' : 'DisplayNoOpts',
'gtk' : 'DisplayGTK',
'sdl' : 'DisplayNoOpts',
- 'egl-headless' : 'DisplayNoOpts' } }
+ 'egl-headless' : 'DisplayNoOpts',
+ 'curses' : 'DisplayNoOpts' } }