This reverts commit 4f4181499170dcf80182745b319607802ea32896. This eliminates the situation where a display is registered as a GL context provider but not as a listener.
Signed-off-by: Akihiko Odaki <akihiko.od...@gmail.com> --- include/ui/console.h | 3 --- ui/console.c | 22 ++++++++-------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 58722312534..760dde770d1 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -409,9 +409,6 @@ void graphic_hw_gl_block(QemuConsole *con, bool block); void qemu_console_early_init(void); -void qemu_console_set_display_gl_ctx(QemuConsole *con, - DisplayChangeListener *dcl); - QemuConsole *qemu_console_lookup_by_index(unsigned int index); QemuConsole *qemu_console_lookup_by_device(DeviceState *dev, uint32_t head); QemuConsole *qemu_console_lookup_by_device_name(const char *device_id, diff --git a/ui/console.c b/ui/console.c index f3d72655bb6..dce2ed3e1de 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1458,19 +1458,6 @@ static bool dpy_compatible_with(QemuConsole *con, return true; } -void qemu_console_set_display_gl_ctx(QemuConsole *con, - DisplayChangeListener *dcl) -{ - /* display has opengl support */ - assert(dcl->con); - if (dcl->con->gl) { - fprintf(stderr, "can't register two opengl displays (%s, %s)\n", - dcl->ops->dpy_name, dcl->con->gl->ops->dpy_name); - exit(1); - } - dcl->con->gl = dcl; -} - void register_displaychangelistener(DisplayChangeListener *dcl) { static const char nodev[] = @@ -1481,7 +1468,14 @@ void register_displaychangelistener(DisplayChangeListener *dcl) assert(!dcl->ds); if (dcl->ops->dpy_gl_ctx_create) { - qemu_console_set_display_gl_ctx(dcl->con, dcl); + /* display has opengl support */ + assert(dcl->con); + if (dcl->con->gl) { + error_report("can't register two opengl displays (%s, %s)\n", + dcl->ops->dpy_name, dcl->con->gl->ops->dpy_name); + exit(1); + } + dcl->con->gl = dcl; } if (dcl->con) { -- 2.32.0 (Apple Git-132)