gtk: don't exit early in case gtk init fails
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
0e12e61ff9
commit
060ab76356
13
ui/gtk.c
13
ui/gtk.c
@ -1917,12 +1917,19 @@ static void gd_set_keycode_type(GtkDisplayState *s)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
GtkDisplayState *s = g_malloc0(sizeof(*s));
|
GtkDisplayState *s = g_malloc0(sizeof(*s));
|
||||||
char *filename;
|
char *filename;
|
||||||
GdkDisplay *window_display;
|
GdkDisplay *window_display;
|
||||||
|
|
||||||
|
if (!gtkinit) {
|
||||||
|
fprintf(stderr, "gtk initialization failed\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
s->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
s->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
#if GTK_CHECK_VERSION(3, 2, 0)
|
#if GTK_CHECK_VERSION(3, 2, 0)
|
||||||
s->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
|
s->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
|
||||||
@ -2003,7 +2010,11 @@ void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
|
|||||||
|
|
||||||
void early_gtk_display_init(int opengl)
|
void early_gtk_display_init(int opengl)
|
||||||
{
|
{
|
||||||
gtk_init(NULL, NULL);
|
gtkinit = gtk_init_check(NULL, NULL);
|
||||||
|
if (!gtkinit) {
|
||||||
|
/* don't exit yet, that'll break -help */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (opengl) {
|
switch (opengl) {
|
||||||
case -1: /* default */
|
case -1: /* default */
|
||||||
|
Loading…
Reference in New Issue
Block a user