diff options
author | Hervé Poussineau <hpoussin@reactos.org> | 2017-01-01 10:39:45 +0100 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2017-03-16 12:10:39 -0500 |
commit | dc659e3aeaec3d195a76c06c0c1089e4a4ab47b1 (patch) | |
tree | f65f9ac8d75314fe3ede951c814b694c741bd1bf /ui | |
parent | 87ede19db3ee8c657cded1a6a376545ffb491094 (diff) |
ui/gtk: fix crash at startup when no console is available
This patch fixes a segfault at QEMU startup, introduced in a08156321ab9a7d2fed9ee77dbfeea2a61ffd153.
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>
(cherry picked from commit 3d4da9d6f3b664beb5bee446ad53b69178f46ad4)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/gtk.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; @@ -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) { |