On Di, 2016-05-31 at 16:56 -0400, Cole Robinson wrote: > $ ./x86_64-softmmu/qemu-system-x86_64 -nodefaults -sdl > Segmentation fault (core dumped) > > 0 0x00005555559631af in sdl_display_init (ds=<optimized out>, full_screen=0, > no_frame=<optimized out>) at ui/sdl2.c:822 > 1 0x00005555556c8a9a in main (argc=<optimized out>, argv=<optimized out>, > envp=<optimized out>) at vl.c:4527 > > Setting the window icon assumes there's always an SDL output window > available, which isn't the case with when there's no video device, > like via -nodefaults. So don't try to set a window icon when we don't > have any outputs.
Hmm, I guess we can skip pretty much all of the init in case there are no outputs: @@ -794,6 +794,9 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) } } sdl2_num_outputs = i; + if (sdl2_num_outputs == 0) { + return; + } sdl2_console = g_new0(struct sdl2_console, sdl2_num_outputs); for (i = 0; i < sdl2_num_outputs; i++) { QemuConsole *con = qemu_console_lookup_by_index(i); Maybe even move up the loop counting the outputs, so we can skip the SDL_Init() call too. We don't get a empty window then. cheers, Gerd