X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-tny-send-queue.c;h=aa5169fe21815a9e356ad9fe31d0f8a68aec41d8;hb=2940eee6b6e016398a6cc8d404f59143c6140920;hp=ba91145454ad24f80f232f3ba27d6d175e886bf1;hpb=99c95d6d66cd2da88f09271b2c6b88af660308a4;p=modest diff --git a/src/modest-tny-send-queue.c b/src/modest-tny-send-queue.c index ba91145..aa5169f 100644 --- a/src/modest-tny-send-queue.c +++ b/src/modest-tny-send-queue.c @@ -399,6 +399,8 @@ modest_tny_send_queue_instance_init (GTypeInstance *instance, gpointer g_class) priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (instance); priv->queue = g_queue_new(); priv->current = NULL; + priv->outbox = NULL; + priv->sentbox = NULL; } static void @@ -411,10 +413,9 @@ modest_tny_send_queue_finalize (GObject *obj) g_queue_foreach (priv->queue, (GFunc)modest_tny_send_queue_info_free, NULL); g_queue_free (priv->queue); + G_OBJECT_CLASS(parent_class)->finalize (obj); g_object_unref (priv->outbox); g_object_unref (priv->sentbox); - - G_OBJECT_CLASS(parent_class)->finalize (obj); } typedef struct { @@ -857,12 +858,16 @@ wakeup_get_headers_async_cb (TnyFolder *folder, /* Notify view */ msg_id = modest_tny_send_queue_get_msg_id (header); item = modest_tny_send_queue_lookup_info (MODEST_TNY_SEND_QUEUE (self), msg_id); - info = (SendInfo *) item->data; + if (!item) { + info = g_slice_new (SendInfo); + info->msg_id = msg_id; + g_queue_push_tail (priv->queue, info); + } else { + info = (SendInfo *) item->data; + g_free (msg_id); + } info->status = MODEST_TNY_SEND_QUEUE_WAITING; - g_signal_emit (self, signals[STATUS_CHANGED_SIGNAL], 0, info->msg_id, info->status); - - /* Frees */ - g_free (msg_id); + g_signal_emit (self, signals[STATUS_CHANGED_SIGNAL], 0, info->msg_id, info->status); } /* Frees */