X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-mail-operation-queue.c;h=cb466e07935021780b61781d8ad55abdfc0ee33c;hp=352c26f02ba9ea98e6364074f1824f0644a3f86f;hb=6b2c5d3b5883cae7d05af790305194b0959064a3;hpb=18d3416b4997e728dc69001489d002d230f0aec7 diff --git a/src/modest-mail-operation-queue.c b/src/modest-mail-operation-queue.c index 352c26f..cb466e0 100644 --- a/src/modest-mail-operation-queue.c +++ b/src/modest-mail-operation-queue.c @@ -453,14 +453,15 @@ static void on_find_by_source_foreach (gpointer op, gpointer data) { FindBySourceInfo *info = (FindBySourceInfo*) data; - GObject *source; + GObject *source = NULL; source = modest_mail_operation_get_source (MODEST_MAIL_OPERATION (op)); - if ( info->source == source) { + if (info->source == source) { g_object_ref (G_OBJECT (op)); *(info->new_list) = g_slist_prepend (*(info->new_list), MODEST_MAIL_OPERATION (op)); } - g_object_unref (source); + if (source) + g_object_unref (source); } GSList* @@ -469,13 +470,14 @@ modest_mail_operation_queue_get_by_source (ModestMailOperationQueue *self, { ModestMailOperationQueuePrivate *priv; GSList* found_operations= NULL; - FindBySourceInfo *info = g_new0 (FindBySourceInfo, 1); + FindBySourceInfo *info; g_return_val_if_fail (MODEST_IS_MAIL_OPERATION_QUEUE (self), NULL); g_return_val_if_fail (source != NULL, NULL); priv = MODEST_MAIL_OPERATION_QUEUE_GET_PRIVATE(self); + info = g_new0 (FindBySourceInfo, 1); info->new_list = &found_operations; info->source = source; @@ -491,26 +493,29 @@ modest_mail_operation_queue_get_by_source (ModestMailOperationQueue *self, static void accumulate_mail_op_strings (ModestMailOperation *op, gchar **str) { - *str = g_strdup_printf ("%s\n%s", *str, modest_mail_operation_to_string (op)); + gchar *mail_op_to_str = modest_mail_operation_to_string (op); + *str = g_strdup_printf ("%s\n%s", *str, mail_op_to_str); + g_free (mail_op_to_str); } gchar* modest_mail_operation_queue_to_string (ModestMailOperationQueue *self) { - gchar *str; + gchar *str = NULL; guint len; ModestMailOperationQueuePrivate *priv; - + g_return_val_if_fail (MODEST_IS_MAIL_OPERATION_QUEUE (self), NULL); - + priv = MODEST_MAIL_OPERATION_QUEUE_GET_PRIVATE(self); len = g_queue_get_length (priv->op_queue); str = g_strdup_printf ("mail operation queue (%02d)\n-------------------------", len); - if (len == 0) + if (len == 0) { + g_free (str); str = g_strdup_printf ("%s\n%s", str, ""); - else { + } else { g_mutex_lock (priv->queue_lock); g_queue_foreach (priv->op_queue, (GFunc)accumulate_mail_op_strings, &str); g_mutex_unlock (priv->queue_lock);