diff options
Diffstat (limited to 'ui/console.c')
| -rw-r--r-- | ui/console.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ui/console.c b/ui/console.c index 32823faf41..171a7bf14b 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1675,11 +1675,26 @@ void dpy_gfx_update_full(QemuConsole *con) void dpy_gfx_replace_surface(QemuConsole *con, DisplaySurface *surface) { + static const char placeholder_msg[] = "Display output is not active."; DisplayState *s = con->ds; DisplaySurface *old_surface = con->surface; DisplayChangeListener *dcl; + int width; + int height; + + if (!surface) { + if (old_surface) { + width = surface_width(old_surface); + height = surface_height(old_surface); + } else { + width = 640; + height = 480; + } + + surface = qemu_create_placeholder_surface(width, height, placeholder_msg); + } - assert(old_surface != surface || surface == NULL); + assert(old_surface != surface); con->surface = surface; QLIST_FOREACH(dcl, &s->listeners, next) { |