[gnome-software] shell extensions: Don't adopt system installed shell extensions
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] shell extensions: Don't adopt system installed shell extensions
- Date: Wed, 21 Feb 2018 13:04:04 +0000 (UTC)
commit c1d2d2ba053ee4d2da52a6de3638f6603f54127a
Author: Kalev Lember <klember redhat com>
Date: Tue Feb 20 21:01:18 2018 +0100
shell extensions: Don't adopt system installed shell extensions
If we have system installed extensions, these need to stay managed by
the packagekit plugin so that we don't lose the ability to remove them.
plugins/shell-extensions/gs-plugin-shell-extensions.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/plugins/shell-extensions/gs-plugin-shell-extensions.c
b/plugins/shell-extensions/gs-plugin-shell-extensions.c
index 9b63fc45..1a5c4158 100644
--- a/plugins/shell-extensions/gs-plugin-shell-extensions.c
+++ b/plugins/shell-extensions/gs-plugin-shell-extensions.c
@@ -98,8 +98,10 @@ gs_plugin_destroy (GsPlugin *plugin)
void
gs_plugin_adopt_app (GsPlugin *plugin, GsApp *app)
{
- if (gs_app_get_kind (app) == AS_APP_KIND_SHELL_EXTENSION)
+ if (gs_app_get_kind (app) == AS_APP_KIND_SHELL_EXTENSION &&
+ gs_app_get_scope (app) == AS_APP_SCOPE_USER) {
gs_app_set_management_plugin (app, gs_plugin_get_name (plugin));
+ }
}
static AsAppState
@@ -400,14 +402,11 @@ gs_plugin_refine_app (GsPlugin *plugin,
{
const gchar *uuid;
- /* only process this these kinds */
- if (gs_app_get_kind (app) != AS_APP_KIND_SHELL_EXTENSION)
+ /* only process this app if was created by this plugin */
+ if (g_strcmp0 (gs_app_get_management_plugin (app),
+ gs_plugin_get_name (plugin)) != 0)
return TRUE;
- /* adopt any here */
- if (gs_app_get_management_plugin (app) == NULL)
- gs_app_set_management_plugin (app, gs_plugin_get_name (plugin));
-
/* can we get the AppStream-created app state using the cache */
uuid = gs_app_get_metadata_item (app, "shell-extensions::uuid");
if (uuid != NULL && gs_app_get_state (app) == AS_APP_STATE_UNKNOWN) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]