[tracker/signal-enhancements] tracker-store: Fix signal-emission enhancement
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/signal-enhancements] tracker-store: Fix signal-emission enhancement
- Date: Thu, 16 Dec 2010 11:33:31 +0000 (UTC)
commit eb7b41be8527a1d1e35d3d80721584e5375fa694
Author: Philip Van Hoof <philip codeminded be>
Date: Thu Dec 16 12:33:02 2010 +0100
tracker-store: Fix signal-emission enhancement
src/tracker-store/tracker-resources.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/src/tracker-store/tracker-resources.c b/src/tracker-store/tracker-resources.c
index ca427df..ee0c70c 100644
--- a/src/tracker-store/tracker-resources.c
+++ b/src/tracker-store/tracker-resources.c
@@ -482,7 +482,16 @@ tracker_resources_sparql_update (TrackerResources *self,
priv = TRACKER_RESOURCES_GET_PRIVATE (self);
- thaw_signal_emission (priv, FALSE);
+ /* If it was frozen (previous call was a batch_update, then immediately
+ * restart the signal, as on_statements_committed will happen in a gidle
+ * and that means that if a new batch_update happens, we'll be frozen
+ * again before on_statements_committed can unfreeze us - I know, awkward */
+
+ if (!priv->signal_configured && priv->freeze_emission) {
+ configure_signal_emission (priv, self);
+ }
+
+ thaw_signal_emission (priv, priv->freeze_emission);
tracker_store_sparql_update (update, TRACKER_STORE_PRIORITY_HIGH,
update_callback, sender,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]