summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlos@lanedo.com>2010-02-25 13:02:17 +0100
committerCarlos Garnacho <carlos@lanedo.com>2010-02-25 14:33:00 +0100
commitec3e810adb488ba7b7da4135ccf490b4583540f5 (patch)
tree876e1db9e2ae00f5514024121d54ccee6a144ff0
parentb9308dc9a3f348ab2d0f51b9f3381980752ed466 (diff)
downloadtracker-ec3e810adb488ba7b7da4135ccf490b4583540f5.tar.gz
libtracker-miner: add explicit tracker_miner_dbus_terminate() call.
-rw-r--r--src/libtracker-miner/tracker-dbus.c10
-rw-r--r--src/libtracker-miner/tracker-dbus.h5
-rw-r--r--src/libtracker-miner/tracker-miner.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/src/libtracker-miner/tracker-dbus.c b/src/libtracker-miner/tracker-dbus.c
index 981398ae8..ffbc3b4c6 100644
--- a/src/libtracker-miner/tracker-dbus.c
+++ b/src/libtracker-miner/tracker-dbus.c
@@ -254,6 +254,16 @@ tracker_miner_dbus_init (TrackerMiner *miner,
}
void
+tracker_miner_dbus_terminate (TrackerMiner *miner)
+{
+ if (G_UNLIKELY (dbus_data == 0)) {
+ return;
+ }
+
+ g_object_set_qdata (G_OBJECT (miner), dbus_data, NULL);
+}
+
+void
tracker_miner_dbus_add_name_watch (TrackerMiner *miner,
const gchar *name,
TrackerMinerDBusNameFunc func)
diff --git a/src/libtracker-miner/tracker-dbus.h b/src/libtracker-miner/tracker-dbus.h
index d163aaf41..680268efc 100644
--- a/src/libtracker-miner/tracker-dbus.h
+++ b/src/libtracker-miner/tracker-dbus.h
@@ -28,8 +28,9 @@ typedef void (* TrackerMinerDBusNameFunc) (TrackerMiner *miner,
const gchar *name,
gboolean available);
-void tracker_miner_dbus_init (TrackerMiner *miner,
- const DBusGObjectInfo *info);
+void tracker_miner_dbus_init (TrackerMiner *miner,
+ const DBusGObjectInfo *info);
+void tracker_miner_dbus_terminate (TrackerMiner *miner);
void tracker_miner_dbus_add_name_watch (TrackerMiner *miner,
const gchar *name,
diff --git a/src/libtracker-miner/tracker-miner.c b/src/libtracker-miner/tracker-miner.c
index cd7f04ed3..27395273f 100644
--- a/src/libtracker-miner/tracker-miner.c
+++ b/src/libtracker-miner/tracker-miner.c
@@ -418,6 +418,8 @@ miner_finalize (GObject *object)
g_hash_table_unref (miner->private->pauses);
g_ptr_array_free (miner->private->async_calls, TRUE);
+ tracker_miner_dbus_terminate (miner);
+
G_OBJECT_CLASS (tracker_miner_parent_class)->finalize (object);
}