[tracker/signal-enhancements] tracker-store: Also do signal-enhancements for updateblank



commit 1df9b8d958ed3941166ee042f36524c4c0e3c3d6
Author: Philip Van Hoof <philip codeminded be>
Date:   Thu Dec 16 12:35:53 2010 +0100

    tracker-store: Also do signal-enhancements for updateblank

 src/tracker-store/tracker-resources.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/tracker-store/tracker-resources.c b/src/tracker-store/tracker-resources.c
index ee0c70c..6cf2d55 100644
--- a/src/tracker-store/tracker-resources.c
+++ b/src/tracker-store/tracker-resources.c
@@ -549,7 +549,18 @@ tracker_resources_sparql_update_blank (TrackerResources       *self,
 
 	priv = TRACKER_RESOURCES_GET_PRIVATE (self);
 
-	thaw_signal_emission (priv, FALSE);
+	priv = TRACKER_RESOURCES_GET_PRIVATE (self);
+
+	/* 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_blank (update, TRACKER_STORE_PRIORITY_HIGH,
 	                                   update_blank_callback, sender,



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