[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 11/12] vl: drop display_type variable
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 11/12] vl: drop display_type variable |
Date: |
Wed, 31 Jan 2018 19:07:57 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Gerd Hoffmann <address@hidden> writes:
> Switch over all leftover users to qapi DisplayType.
> Then delete the unused display_type variable.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> vl.c | 54 ++++++++++++++----------------------------------------
> 1 file changed, 14 insertions(+), 40 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 899fcad75e..827ab2a3b0 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2080,24 +2080,12 @@ static void select_vgahw(const char *p)
> }
> }
>
> -typedef enum LegacyDisplayType {
> - DT_DEFAULT,
> - DT_CURSES,
> - DT_SDL,
> - DT_COCOA,
> - DT_GTK,
> - DT_EGL,
> - DT_NONE,
> -} LegacyDisplayType;
> -
> -static LegacyDisplayType select_display(const char *p)
> +static void parse_display(const char *p)
> {
> const char *opts;
> - LegacyDisplayType display = DT_DEFAULT;
>
> if (strstart(p, "sdl", &opts)) {
> #ifdef CONFIG_SDL
> - display = DT_SDL;
> dpy.type = DISPLAY_TYPE_SDL;
> while (*opts) {
> const char *nextopt;
> @@ -2179,7 +2167,6 @@ static LegacyDisplayType select_display(const char *p)
> #ifdef CONFIG_OPENGL_DMABUF
> request_opengl = 1;
> display_opengl = 1;
> - display = DT_EGL;
> dpy.type = DISPLAY_TYPE_EGL_HEADLESS;
> #else
> fprintf(stderr, "egl support is disabled\n");
> @@ -2187,7 +2174,6 @@ static LegacyDisplayType select_display(const char *p)
> #endif
> } else if (strstart(p, "curses", &opts)) {
> #ifdef CONFIG_CURSES
> - display = DT_CURSES;
> dpy.type = DISPLAY_TYPE_CURSES;
> #else
> error_report("curses support is disabled");
> @@ -2195,7 +2181,6 @@ static LegacyDisplayType select_display(const char *p)
> #endif
> } else if (strstart(p, "gtk", &opts)) {
> #ifdef CONFIG_GTK
> - display = DT_GTK;
> dpy.type = DISPLAY_TYPE_GTK;
> while (*opts) {
> const char *nextopt;
> @@ -2234,14 +2219,11 @@ static LegacyDisplayType select_display(const char *p)
> exit(1);
> #endif
> } else if (strstart(p, "none", &opts)) {
> - display = DT_NONE;
> dpy.type = DISPLAY_TYPE_NONE;
> } else {
> error_report("unknown display type");
> exit(1);
> }
> -
> - return display;
> }
>
> static int balloon_parse(const char *arg)
> @@ -3069,7 +3051,6 @@ int main(int argc, char **argv, char **envp)
> const char *incoming = NULL;
> bool userconfig = true;
> bool nographic = false;
> - LegacyDisplayType display_type = DT_DEFAULT;
> int display_remote = 0;
> const char *log_mask = NULL;
> const char *log_file = NULL;
> @@ -3263,18 +3244,16 @@ int main(int argc, char **argv, char **envp)
> }
> break;
> case QEMU_OPTION_display:
> - display_type = select_display(optarg);
> + parse_display(optarg);
> break;
> case QEMU_OPTION_nographic:
> olist = qemu_find_opts("machine");
> qemu_opts_parse_noisily(olist, "graphics=off", false);
> nographic = true;
> - display_type = DT_NONE;
> dpy.type = DISPLAY_TYPE_NONE;
> break;
> case QEMU_OPTION_curses:
> #ifdef CONFIG_CURSES
> - display_type = DT_CURSES;
> dpy.type = DISPLAY_TYPE_CURSES;
> #else
> error_report("curses support is disabled");
> @@ -3682,7 +3661,6 @@ int main(int argc, char **argv, char **envp)
> break;
> case QEMU_OPTION_sdl:
> #ifdef CONFIG_SDL
> - display_type = DT_SDL;
> dpy.type = DISPLAY_TYPE_SDL;
> break;
> #else
> @@ -4298,7 +4276,7 @@ int main(int argc, char **argv, char **envp)
> exit(1);
> }
> #ifdef CONFIG_CURSES
> - if (display_type == DT_CURSES) {
> + if (dpy.type == DISPLAY_TYPE_CURSES) {
> error_report("curses display cannot be used with -daemonize");
> exit(1);
> }
> @@ -4344,39 +4322,35 @@ int main(int argc, char **argv, char **envp)
> display_remote++;
> }
> #endif
> - if (display_type == DT_DEFAULT && !display_remote) {
> + if (dpy.type == DISPLAY_TYPE_DEFAULT && !display_remote) {
This is the only use of QAPI enum DisplayType's member 'default'. Let's
see...
> #if defined(CONFIG_GTK)
> - display_type = DT_GTK;
> dpy.type = DISPLAY_TYPE_GTK;
> #elif defined(CONFIG_SDL)
> - display_type = DT_SDL;
> dpy.type = DISPLAY_TYPE_SDL;
> #elif defined(CONFIG_COCOA)
> - display_type = DT_COCOA;
> dpy.type = DISPLAY_TYPE_COCOA;
> #elif defined(CONFIG_VNC)
> vnc_parse("localhost:0,to=99,id=default", &error_abort);
> #else
> - display_type = DT_NONE;
> dpy.type = DISPLAY_TYPE_NONE;
> #endif
As I expected, it is immediately replaced by a "real" display type.
Therefore, it can't occur as a tag value of QAPI union DisplayOptions.
Recommend to add the enum member in this patch instead of PATCH 04, with
a suitable comment explaining that it doesn't occur as tag value.
> }
>
> - if ((no_frame || alt_grab || ctrl_grab) && display_type != DT_SDL) {
> + if ((no_frame || alt_grab || ctrl_grab) && dpy.type != DISPLAY_TYPE_SDL)
> {
> error_report("-no-frame, -alt-grab and -ctrl-grab are only valid "
> "for SDL, ignoring option");
> }
> if (dpy.has_window_close &&
> - (display_type != DT_GTK && display_type != DT_SDL)) {
> + (dpy.type != DISPLAY_TYPE_GTK && dpy.type != DISPLAY_TYPE_SDL)) {
> error_report("-no-quit is only valid for GTK and SDL, "
> "ignoring option");
> }
>
> - if (display_type == DT_GTK) {
> + if (dpy.type == DISPLAY_TYPE_GTK) {
> early_gtk_display_init(&dpy);
> }
>
> - if (display_type == DT_SDL) {
> + if (dpy.type == DISPLAY_TYPE_SDL) {
> sdl_display_early_init(&dpy);
> }
>
> @@ -4707,17 +4681,17 @@ int main(int argc, char **argv, char **envp)
> ds = init_displaystate();
>
> /* init local displays */
> - switch (display_type) {
> - case DT_CURSES:
> + switch (dpy.type) {
> + case DISPLAY_TYPE_CURSES:
> curses_display_init(ds, &dpy);
> break;
> - case DT_SDL:
> + case DISPLAY_TYPE_SDL:
> sdl_display_init(ds, &dpy);
> break;
> - case DT_COCOA:
> + case DISPLAY_TYPE_COCOA:
> cocoa_display_init(ds, &dpy);
> break;
> - case DT_GTK:
> + case DISPLAY_TYPE_GTK:
> gtk_display_init(ds, &dpy);
> break;
> default:
> @@ -4738,7 +4712,7 @@ int main(int argc, char **argv, char **envp)
> }
>
> #ifdef CONFIG_OPENGL_DMABUF
> - if (display_type == DT_EGL) {
> + if (dpy.type == DISPLAY_TYPE_EGL_HEADLESS) {
> egl_headless_init(&dpy);
> }
> #endif
- [Qemu-devel] [PATCH v2 00/12] rework display initialization, part one, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 03/12] vl: rename DisplayType to LegacyDisplayType, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 12/12] vl: drop request_opengl variable, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 05/12] sdl: use DisplayOptions, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 09/12] cocoa: use DisplayOptions, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 10/12] vl: drop full_screen variable, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 11/12] vl: drop display_type variable, Gerd Hoffmann, 2018/01/29
- Re: [Qemu-devel] [PATCH v2 11/12] vl: drop display_type variable,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 07/12] egl-headless: use DisplayOptions, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 01/12] vl: deprecate -no-frame, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 06/12] vl: drop no_quit variable, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 04/12] gtk: add and use DisplayOptions + DisplayGTK, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 02/12] vl: deprecate -alt-grab and -ctrl-grab, Gerd Hoffmann, 2018/01/29
- [Qemu-devel] [PATCH v2 08/12] curses: use DisplayOptions, Gerd Hoffmann, 2018/01/29