[tracker] libtracker-data: Allow calling tracker_db_manager_locale_changed() before init
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-data: Allow calling tracker_db_manager_locale_changed() before init
- Date: Sat, 19 Oct 2013 15:39:56 +0000 (UTC)
commit a4bfd2cf66b786a61a559c6a93d9ec80fc4e2b8f
Author: Sam Thursfield <sam thursfield codethink co uk>
Date: Tue Oct 15 17:35:34 2013 +0100
libtracker-data: Allow calling tracker_db_manager_locale_changed() before init
This fixes an issue introduced in commit fa6317fbabb1a7, where the
direct backend would fail to find the 'db-locale.txt' marker due to the
global 'data_dir' path variable being NULL at the time it called
tracker_db_manager_locale_changed(). It would then report that the
locale had changed from 'unknown' to the system locale, and abort.
https://bugzilla.gnome.org/show_bug.cgi?id=676209
src/libtracker-data/tracker-db-manager.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
index 4ec6454..70a0d53 100644
--- a/src/libtracker-data/tracker-db-manager.c
+++ b/src/libtracker-data/tracker-db-manager.c
@@ -653,6 +653,14 @@ tracker_db_manager_locale_changed (void)
gchar *current_locale;
gboolean changed;
+ /* As a special case, we allow calling this API function before
+ * tracker_data_manager_init() has been called, so it can be used
+ * to check for locale mismatches for initializing the database.
+ */
+ if (!locations_initialized) {
+ tracker_db_manager_init_locations();
+ }
+
/* Get current collation locale */
current_locale = tracker_locale_get (TRACKER_LOCALE_COLLATE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]