diff options
author | Cosimo Cecchi <cosimo@endlessm.com> | 2015-11-16 13:49:50 -0800 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2015-12-02 12:33:57 +0100 |
commit | fef884922c1454811c61cdfb7d4de7909591650f (patch) | |
tree | da4c4d7c43fa439b5658832cc6ea8e3ff9e7dc71 | |
parent | dabd4d93aba1f2beb9949924333f54a517d9dab8 (diff) | |
download | nautilus-fef884922c1454811c61cdfb7d4de7909591650f.tar.gz |
mime-actions: check for name owner for PackageKit
We might not have a PackageKit name owner. Check for that case, or the
system will think that it can install extra applications.
-rw-r--r-- | src/nautilus-mime-actions.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/nautilus-mime-actions.c b/src/nautilus-mime-actions.c index 493aee422..a55469ac9 100644 --- a/src/nautilus-mime-actions.c +++ b/src/nautilus-mime-actions.c @@ -1157,18 +1157,19 @@ pk_proxy_appeared_cb (GObject *source, gpointer user_data) { ActivateParametersInstall *parameters_install = user_data; - char *mime_type; + char *mime_type, *name_owner; char *error_message; GtkWidget *dialog; GDBusProxy *proxy; GError *error = NULL; proxy = g_dbus_proxy_new_for_bus_finish (res, &error); + name_owner = g_dbus_proxy_get_name_owner (proxy); - if (error != NULL) { + if (error != NULL || name_owner == NULL) { g_warning ("Couldn't call Modify on the PackageKit interface: %s", - error->message); - g_error_free (error); + error != NULL ? error->message : "no owner for PackageKit"); + g_clear_error (&error); /* show an unhelpful dialog */ show_unhandled_type_error (parameters_install); @@ -1178,6 +1179,8 @@ pk_proxy_appeared_cb (GObject *source, return; } + g_free (name_owner); + mime_type = nautilus_file_get_mime_type (parameters_install->file); error_message = get_application_no_mime_type_handler_message (parameters_install->file, parameters_install->uri); |