gnome-control-center/0001-search-Check-for-either-tracker-2.x-or-3.x-schemas.patch
DistroBaker 86abb238a4 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/gnome-control-center.git#69242d195b7bf6eaf8950c6a66e86f212dbece5a
2020-11-22 16:25:49 +00:00

72 lines
2.4 KiB
Diff

From 27e1140c9d4ad852b4dc6a132a14cd5532d52997 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Mon, 2 Nov 2020 11:07:10 +0100
Subject: [PATCH] search: Check for either tracker 2.x or 3.x schemas
The Tracker3 schema points to the same dconf path and is backwards
compatible with Tracker 2.x settings. Check for either here, with a
preference to Tracker 3.x.
Eventually, Tracker 2.x will be fully phased out, and this will not
be necessary.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1173
---
panels/search/cc-search-locations-dialog.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/panels/search/cc-search-locations-dialog.c b/panels/search/cc-search-locations-dialog.c
index 48749da5a..764016ffc 100644
--- a/panels/search/cc-search-locations-dialog.c
+++ b/panels/search/cc-search-locations-dialog.c
@@ -24,6 +24,7 @@
#include <glib/gi18n.h>
#define TRACKER_SCHEMA "org.freedesktop.Tracker.Miner.Files"
+#define TRACKER3_SCHEMA "org.freedesktop.Tracker3.Miner.Files"
#define TRACKER_KEY_RECURSIVE_DIRECTORIES "index-recursive-directories"
#define TRACKER_KEY_SINGLE_DIRECTORIES "index-single-directories"
@@ -670,12 +671,20 @@ CcSearchLocationsDialog *
cc_search_locations_dialog_new (CcSearchPanel *panel)
{
CcSearchLocationsDialog *self;
+ GSettingsSchemaSource *source;
+ g_autoptr(GSettingsSchema) schema = NULL;
self = g_object_new (CC_SEARCH_LOCATIONS_DIALOG_TYPE,
"use-header-bar", TRUE,
NULL);
- self->tracker_preferences = g_settings_new (TRACKER_SCHEMA);
+ source = g_settings_schema_source_get_default ();
+ schema = g_settings_schema_source_lookup (source, TRACKER3_SCHEMA, TRUE);
+ if (schema)
+ self->tracker_preferences = g_settings_new (TRACKER3_SCHEMA);
+ else
+ self->tracker_preferences = g_settings_new (TRACKER_SCHEMA);
+
populate_list_boxes (self);
gtk_list_box_set_sort_func (GTK_LIST_BOX (self->others_list),
@@ -702,8 +711,15 @@ cc_search_locations_dialog_is_available (void)
if (!source)
return FALSE;
+ schema = g_settings_schema_source_lookup (source, TRACKER3_SCHEMA, TRUE);
+ if (schema)
+ return TRUE;
+
schema = g_settings_schema_source_lookup (source, TRACKER_SCHEMA, TRUE);
- return schema != NULL;
+ if (schema)
+ return TRUE;
+
+ return FALSE;
}
static void
--
2.28.0