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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user