summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-07-26 11:27:38 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-07-26 11:32:45 +0200
commitff97f581d46937bee854246cf20f4be0cc103033 (patch)
treef5819379daa0fba8cd2792704bdfe079e6f8280d
parent27e54d2f82c3311158dccff4a838ffb4186a39c3 (diff)
downloadtracker-ff97f581d46937bee854246cf20f4be0cc103033.tar.gz
libtracker-direct: Clear data manager on failure
Otherwise we try to do stuff with it on finalize() that counts on it being initialized.
-rw-r--r--src/libtracker-direct/tracker-direct.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libtracker-direct/tracker-direct.c b/src/libtracker-direct/tracker-direct.c
index 25ec52ae9..768b7c7c8 100644
--- a/src/libtracker-direct/tracker-direct.c
+++ b/src/libtracker-direct/tracker-direct.c
@@ -295,8 +295,10 @@ tracker_direct_connection_initable_init (GInitable *initable,
priv->data_manager = tracker_data_manager_new (db_flags | default_flags, priv->store,
priv->journal, priv->ontology,
FALSE, FALSE, 100, 100);
- if (!g_initable_init (G_INITABLE (priv->data_manager), cancellable, error))
+ if (!g_initable_init (G_INITABLE (priv->data_manager), cancellable, error)) {
+ g_clear_object (&priv->data_manager);
return FALSE;
+ }
if ((priv->flags & TRACKER_SPARQL_CONNECTION_FLAGS_READONLY) == 0) {
/* Set up WAL hook on our connection */