From 23e382dd33f2960f1dea22a725b0c6375ea6602f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 14 Mar 2020 11:00:49 +0100 Subject: [PATCH] extensions-tool: Log existing errors In many cases we currently only indicate failure in the return value, which is easily missed. Print some meaningful errors instead. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2391 --- subprojects/extensions-tool/src/command-info.c | 10 ++++++++-- subprojects/extensions-tool/src/command-list.c | 5 ++++- subprojects/extensions-tool/src/command-prefs.c | 15 ++++++++++++--- .../extensions-tool/src/command-uninstall.c | 8 +++++++- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/subprojects/extensions-tool/src/command-info.c b/subprojects/extensions-tool/src/command-info.c index e280023e1..61492a5d3 100644 --- a/subprojects/extensions-tool/src/command-info.c +++ b/subprojects/extensions-tool/src/command-info.c @@ -46,13 +46,19 @@ show_extension_info (const char *uuid) NULL, &error); if (response == NULL) - return FALSE; + { + g_printerr (_("Failed to connect to GNOME Shell\n")); + return FALSE; + } asv = g_variant_get_child_value (response, 0); info = g_variant_dict_new (asv); if (!g_variant_dict_contains (info, "uuid")) - return FALSE; + { + g_printerr (_("Extension “%s” doesn't exist\n"), uuid); + return FALSE; + } print_extension_info (info, DISPLAY_DETAILED); diff --git a/subprojects/extensions-tool/src/command-list.c b/subprojects/extensions-tool/src/command-list.c index bc021fd14..62db4d9d3 100644 --- a/subprojects/extensions-tool/src/command-list.c +++ b/subprojects/extensions-tool/src/command-list.c @@ -60,7 +60,10 @@ list_extensions (ListFilterFlags filter, DisplayFormat format) NULL, &error); if (response == NULL) - return FALSE; + { + g_printerr (_("Failed to connect to GNOME Shell\n")); + return FALSE; + } extensions = g_variant_get_child_value (response, 0); diff --git a/subprojects/extensions-tool/src/command-prefs.c b/subprojects/extensions-tool/src/command-prefs.c index 86799eafc..25d1626c4 100644 --- a/subprojects/extensions-tool/src/command-prefs.c +++ b/subprojects/extensions-tool/src/command-prefs.c @@ -47,17 +47,26 @@ launch_extension_prefs (const char *uuid) NULL, &error); if (response == NULL) - return FALSE; + { + g_printerr (_("Failed to connect to GNOME Shell")); + return FALSE; + } asv = g_variant_get_child_value (response, 0); info = g_variant_dict_new (asv); if (!g_variant_dict_contains (info, "uuid")) - return FALSE; + { + g_printerr (_("Extension “%s” doesn't exist\n"), uuid); + return FALSE; + } g_variant_dict_lookup (info, "hasPrefs", "b", &has_prefs); if (!has_prefs) - return FALSE; + { + g_printerr (_("Extension “%s” doesn't have preferences\n"), uuid); + return FALSE; + } g_dbus_proxy_call_sync (proxy, "OpenExtensionPrefs", diff --git a/subprojects/extensions-tool/src/command-uninstall.c b/subprojects/extensions-tool/src/command-uninstall.c index 5974e098e..4b902f403 100644 --- a/subprojects/extensions-tool/src/command-uninstall.c +++ b/subprojects/extensions-tool/src/command-uninstall.c @@ -45,10 +45,16 @@ uninstall_extension (const char *uuid) NULL, &error); if (response == NULL) - return FALSE; + { + g_printerr (_("Failed to connect to GNOME Shell")); + return FALSE; + } g_variant_get (response, "(b)", &success); + if (!success) + g_printerr (_("Failed to uninstall “%s”\n"), uuid); + return success; }