[tracker/class-signal] tracker-store: Cleanup tracker-writeback.c a little bit
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/class-signal] tracker-store: Cleanup tracker-writeback.c a little bit
- Date: Fri, 27 Aug 2010 11:28:28 +0000 (UTC)
commit 4bbed4ede6022cd2e4f3706b086bbcc4d7182d1b
Author: Philip Van Hoof <philip codeminded be>
Date: Fri Aug 27 13:28:09 2010 +0200
tracker-store: Cleanup tracker-writeback.c a little bit
src/tracker-store/tracker-writeback.c | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
---
diff --git a/src/tracker-store/tracker-writeback.c b/src/tracker-store/tracker-writeback.c
index 4d58dbd..7a32bec 100644
--- a/src/tracker-store/tracker-writeback.c
+++ b/src/tracker-store/tracker-writeback.c
@@ -79,10 +79,7 @@ tracker_writeback_check (gint graph_id,
g_return_if_fail (private != NULL);
if (g_hash_table_lookup (private->allowances, GINT_TO_POINTER (pred_id))) {
- if (!private->ready_events || !private->pending_events) {
- private->ready_events = g_hash_table_new_full (g_direct_hash, g_direct_equal,
- (GDestroyNotify) NULL,
- (GDestroyNotify) array_free);
+ if (!private->pending_events) {
private->pending_events = g_hash_table_new_full (g_direct_hash, g_direct_equal,
(GDestroyNotify) NULL,
(GDestroyNotify) NULL);
@@ -99,7 +96,9 @@ tracker_writeback_reset_pending ()
{
g_return_if_fail (private != NULL);
- g_hash_table_remove_all (private->pending_events);
+ if (private->pending_events) {
+ g_hash_table_remove_all (private->pending_events);
+ }
}
void
@@ -107,7 +106,10 @@ tracker_writeback_reset_ready ()
{
g_return_if_fail (private != NULL);
- g_hash_table_remove_all (private->ready_events);
+ if (private->ready_events) {
+ g_hash_table_unref (private->ready_events);
+ private->ready_events = NULL;
+ }
}
GHashTable *
@@ -124,6 +126,10 @@ free_private (gpointer user_data)
WritebackPrivate *private;
private = user_data;
+ if (private->ready_events)
+ g_hash_table_unref (private->ready_events);
+ if (private->pending_events)
+ g_hash_table_unref (private->pending_events);
g_hash_table_unref (private->allowances);
g_free (private);
}
@@ -182,6 +188,12 @@ tracker_writeback_transact (void)
if (!private->pending_events)
return;
+ if (!private->ready_events) {
+ private->ready_events = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+ (GDestroyNotify) NULL,
+ (GDestroyNotify) array_free);
+ }
+
g_hash_table_iter_init (&iter, private->pending_events);
while (g_hash_table_iter_next (&iter, &key, &value)) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]