mirror of https://github.com/xemu-project/xemu.git
ui/gtk: fix crash at startup when no console is available
This patch fixes a segfault at QEMU startup, introduced in a08156321a
.
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>
This commit is contained in:
parent
e92fbc753d
commit
3d4da9d6f3
6
ui/gtk.c
6
ui/gtk.c
|
@ -2171,6 +2171,8 @@ static gboolean gtkinit;
|
||||||
|
|
||||||
void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
|
void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
|
||||||
{
|
{
|
||||||
|
VirtualConsole *vc;
|
||||||
|
|
||||||
GtkDisplayState *s = g_malloc0(sizeof(*s));
|
GtkDisplayState *s = g_malloc0(sizeof(*s));
|
||||||
char *filename;
|
char *filename;
|
||||||
GdkDisplay *window_display;
|
GdkDisplay *window_display;
|
||||||
|
@ -2249,9 +2251,11 @@ void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
vc = gd_vc_find_current(s);
|
||||||
|
gtk_widget_set_sensitive(s->view_menu, vc != NULL);
|
||||||
#ifdef CONFIG_VTE
|
#ifdef CONFIG_VTE
|
||||||
gtk_widget_set_sensitive(s->copy_item,
|
gtk_widget_set_sensitive(s->copy_item,
|
||||||
gd_vc_find_current(s)->type == GD_VC_VTE);
|
vc && vc->type == GD_VC_VTE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (full_screen) {
|
if (full_screen) {
|
||||||
|
|
Loading…
Reference in New Issue