2007-06-03 Armin Burgmeier <armin@openismus.com>
+ * src/modest-mail-operation-queue.c: Fixed a deadlock in finalize()
+ when the operation queue was not empty. projects.maemo.org bug
+ NB#58976.
+
+2007-06-03 Armin Burgmeier <armin@openismus.com>
+
* src/widgets/modest-account-view.c
(on_account_default_toggled): Toggle default account column
explicitely instead of waiting for gconf notification (which is
- currently ignored). This should fix maemo.projects.org bug NB#56910
+ currently ignored). This should fix projects.maemo.org bug NB#56910
for now. It should probably be removed when gconf notifications are
re-enabled.
static void modest_mail_operation_queue_cancel_no_block (ModestMailOperationQueue *op_queue,
ModestMailOperation *mail_op);
+static void
+modest_mail_operation_queue_cancel_all_no_block (ModestMailOperationQueue *self);
+
/* list my signals */
enum {
QUEUE_CHANGED_SIGNAL,
if (priv->op_queue) {
/* Cancel all */
if (!g_queue_is_empty (priv->op_queue))
- modest_mail_operation_queue_cancel_all (MODEST_MAIL_OPERATION_QUEUE (obj));
+ modest_mail_operation_queue_cancel_all_no_block (MODEST_MAIL_OPERATION_QUEUE (obj));
g_queue_free (priv->op_queue);
}
modest_mail_operation_queue_remove (self, mail_op);
}
+static void
+modest_mail_operation_queue_cancel_all_no_block (ModestMailOperationQueue *self)
+{
+ ModestMailOperationQueuePrivate *priv = MODEST_MAIL_OPERATION_QUEUE_GET_PRIVATE (self);
+
+ g_queue_foreach (priv->op_queue,
+ (GFunc) modest_mail_operation_queue_cancel_no_block_wrapper,
+ self);
+}
+
void
modest_mail_operation_queue_cancel (ModestMailOperationQueue *self,
ModestMailOperation *mail_op)
priv = MODEST_MAIL_OPERATION_QUEUE_GET_PRIVATE(self);
g_mutex_lock (priv->queue_lock);
- g_queue_foreach (priv->op_queue,
- (GFunc) modest_mail_operation_queue_cancel_no_block_wrapper,
- self);
+ modest_mail_operation_queue_cancel_all_no_block (self);
g_mutex_unlock (priv->queue_lock);
}