Skip to content

Commit

Permalink
ui/gtk: fix crash at startup when no console is available
Browse files Browse the repository at this point in the history
This patch fixes a segfault at QEMU startup, introduced in a081563.
gd_vc_find_current() return NULL, which is dereferenced without checking it.

While at it, disable the whole 'View' menu if no console exists.

Reproducer: qemu-system-i386 -M none -nodefaults

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1483263585-8101-1-git-send-email-hpoussin@reactos.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
  • Loading branch information
hpoussin authored and kraxel committed Jan 10, 2017
1 parent e92fbc7 commit 3d4da9d
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion ui/gtk.c
Expand Up @@ -2171,6 +2171,8 @@ static gboolean gtkinit;

void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
{
VirtualConsole *vc;

GtkDisplayState *s = g_malloc0(sizeof(*s));
char *filename;
GdkDisplay *window_display;
Expand Down Expand Up @@ -2249,9 +2251,11 @@ void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
}
#endif

vc = gd_vc_find_current(s);
gtk_widget_set_sensitive(s->view_menu, vc != NULL);
#ifdef CONFIG_VTE
gtk_widget_set_sensitive(s->copy_item,
gd_vc_find_current(s)->type == GD_VC_VTE);
vc && vc->type == GD_VC_VTE);
#endif

if (full_screen) {
Expand Down

0 comments on commit 3d4da9d

Please sign in to comment.