diff options
-rw-r--r-- | src/libtracker-data/tracker-db-manager.c | 2 | ||||
-rw-r--r-- | src/libtracker-data/tracker-sparql.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c index 4eec98e11..75a562133 100644 --- a/src/libtracker-data/tracker-db-manager.c +++ b/src/libtracker-data/tracker-db-manager.c @@ -862,6 +862,8 @@ tracker_db_manager_get_db_interface (TrackerDBManager *db_manager) } } + tracker_db_interface_ref_use (interface); + g_async_queue_push_unlocked (db_manager->interfaces, interface); g_async_queue_unlock (db_manager->interfaces); diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c index 6dea87b7a..e6680ea06 100644 --- a/src/libtracker-data/tracker-sparql.c +++ b/src/libtracker-data/tracker-sparql.c @@ -9465,7 +9465,7 @@ tracker_sparql_execute_cursor (TrackerSparql *sparql, GError **error) { TrackerDBStatement *stmt; - TrackerDBInterface *iface; + TrackerDBInterface *iface = NULL; TrackerDBCursor *cursor = NULL; TrackerPropertyType *types; const gchar * const *names; @@ -9524,6 +9524,8 @@ tracker_sparql_execute_cursor (TrackerSparql *sparql, g_object_unref (stmt); error: + if (iface) + tracker_db_interface_unref_use (iface); g_mutex_unlock (&sparql->mutex); return TRACKER_SPARQL_CURSOR (cursor); |