[tracker/sam/unref-fix] libtracker-direct: Add missing 'unowned' annotation



commit c297cd762d1a93c8b3403f11065e3a82783ec6b7
Author: Sam Thursfield <sam afuera me uk>
Date:   Sat Sep 14 11:48:39 2019 +0200

    libtracker-direct: Add missing 'unowned' annotation
    
    The .get_data_manager() method doesn't ref the data manager before
    returning it. Vala code that called this method wasn't reffing it
    either because 'owned' is the default ownership flag.
    
    This fixes a critical that sometimes appeared on shutdown of
    tracker-store:
    
            (tracker-store:5986): GLib-GObject-CRITICAL **: 10:53:13.275: g_object_unref: assertion 
'G_IS_OBJECT (object)' failed

 src/libtracker-direct/tracker-direct.vapi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/src/libtracker-direct/tracker-direct.vapi b/src/libtracker-direct/tracker-direct.vapi
index df15c5890..8839eafae 100644
--- a/src/libtracker-direct/tracker-direct.vapi
+++ b/src/libtracker-direct/tracker-direct.vapi
@@ -4,7 +4,7 @@ namespace Tracker {
                 [CCode (cheader_filename = "libtracker-direct/tracker-direct.h")]
                 public class Connection : Tracker.Sparql.Connection, GLib.Initable, GLib.AsyncInitable {
                         public Connection (Tracker.Sparql.ConnectionFlags connection_flags, GLib.File loc, 
GLib.File? journal, GLib.File? ontology) throws Tracker.Sparql.Error, GLib.IOError, GLib.DBusError;
-                        public Tracker.Data.Manager get_data_manager ();
+                        public unowned Tracker.Data.Manager get_data_manager ();
                        public void sync ();
                        public static void set_default_flags (Tracker.DBManagerFlags flags);
                 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]