search: Check for either tracker 2.x or 3.x schemas

This commit is contained in:
Kalev Lember 2020-11-20 09:45:20 +01:00
parent ae7ca772db
commit 69242d195b
2 changed files with 78 additions and 1 deletions

View File

@ -0,0 +1,71 @@
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

View File

@ -11,7 +11,7 @@
Name: gnome-control-center
Version: 3.38.2
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Utilities to configure the GNOME desktop
License: GPLv2+ and CC-BY-SA
@ -24,6 +24,9 @@ Patch0: distro-logo.patch
# https://teams.fedoraproject.org/project/silverblue/us/127
Patch1: info-model-for-lenovo.patch
# https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/875
Patch2: 0001-search-Check-for-either-tracker-2.x-or-3.x-schemas.patch
BuildRequires: chrpath
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
@ -197,6 +200,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center
%dir %{_datadir}/gnome/wm-properties
%changelog
* Fri Nov 20 2020 Kalev Lember <klember@redhat.com> - 3.38.2-2
- search: Check for either tracker 2.x or 3.x schemas
* Fri Nov 20 2020 Kalev Lember <klember@redhat.com> - 3.38.2-1
- Update to 3.38.2