summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimo@endlessm.com>2015-11-16 13:49:50 -0800
committerCosimo Cecchi <cosimoc@gnome.org>2015-12-02 12:33:57 +0100
commitfef884922c1454811c61cdfb7d4de7909591650f (patch)
treeda4c4d7c43fa439b5658832cc6ea8e3ff9e7dc71
parentdabd4d93aba1f2beb9949924333f54a517d9dab8 (diff)
downloadnautilus-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.c11
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);