+idle_notify_headers_count_changed_destroy (gpointer data)
+{
+ HeadersCountChangedHelper *helper = NULL;
+
+ g_return_if_fail (data != NULL);
+ helper = (HeadersCountChangedHelper *) data;
+
+ g_object_unref (helper->change);
+ g_slice_free (HeadersCountChangedHelper, helper);
+}
+
+static gboolean
+idle_notify_headers_count_changed (gpointer data)
+{
+ TnyFolder *folder = NULL;
+ ModestHeaderViewPrivate *priv = NULL;
+ HeadersCountChangedHelper *helper = NULL;
+
+ g_return_val_if_fail (data != NULL, FALSE);
+ helper = (HeadersCountChangedHelper *) data;
+ g_return_val_if_fail (MODEST_IS_HEADER_VIEW(helper->self), FALSE);
+ g_return_val_if_fail (TNY_FOLDER_CHANGE(helper->change), FALSE);
+
+ folder = tny_folder_change_get_folder (helper->change);
+
+ priv = MODEST_HEADER_VIEW_GET_PRIVATE (helper->self);
+ g_mutex_lock (priv->observers_lock);
+
+ g_signal_emit (G_OBJECT(helper->self), signals[MSG_COUNT_CHANGED_SIGNAL], 0, folder, helper->change);
+
+ g_mutex_unlock (priv->observers_lock);
+
+ return FALSE;
+}
+
+static void