forked from AuroraMiddleware/gtk
GtkAppChooser: Deal with 'no app found' gracefully
Several functions inside GtkAppChooserDialog were not handling the situation that app_info might be NULL after the user clicked 'Select'. https://bugzilla.gnome.org/show_bug.cgi?id=651827
This commit is contained in:
parent
676316bbd3
commit
6d797d5356
@ -212,6 +212,12 @@ check_application (GtkAppChooserDialog *self,
|
|||||||
command = NULL;
|
command = NULL;
|
||||||
|
|
||||||
info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
|
info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
|
||||||
|
if (info == NULL)
|
||||||
|
{
|
||||||
|
*app_out = NULL;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
command = g_app_info_get_executable (info);
|
command = g_app_info_get_executable (info);
|
||||||
|
|
||||||
g_shell_parse_argv (command, &argc, &argv, &error);
|
g_shell_parse_argv (command, &argc, &argv, &error);
|
||||||
@ -258,13 +264,15 @@ add_or_find_application (GtkAppChooserDialog *self)
|
|||||||
|
|
||||||
app = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self));
|
app = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self));
|
||||||
|
|
||||||
/* we don't care about reporting errors here */
|
if (app)
|
||||||
if (self->priv->content_type)
|
{
|
||||||
g_app_info_set_as_last_used_for_type (app,
|
/* we don't care about reporting errors here */
|
||||||
self->priv->content_type,
|
if (self->priv->content_type)
|
||||||
NULL);
|
g_app_info_set_as_last_used_for_type (app,
|
||||||
|
self->priv->content_type,
|
||||||
g_object_unref (app);
|
NULL);
|
||||||
|
g_object_unref (app);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user