message_reader (ModestMsgViewWindow *window,
ModestMsgViewWindowPrivate *priv,
TnyHeader *header,
- GtkTreeIter iter)
+ GtkTreePath *path)
{
ModestMailOperation *mail_op = NULL;
- GtkTreePath *path = NULL;
ModestMailOperationTypeOperation op_type;
+ g_return_val_if_fail (path != NULL, FALSE);
+
/* Msg download completed */
if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED) {
op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
}
}
- /* Get the path, will be freed by the callback */
- path = gtk_tree_model_get_path (priv->header_model, &iter);
-
/* New mail operation */
mail_op = modest_mail_operation_new_with_error_handling (op_type,
G_OBJECT(window),
&header, -1);
/* Read the message & show it */
- if (!message_reader (window, priv, header, tmp_iter))
+ if (!message_reader (window, priv, header, path)) {
retval = FALSE;
+ gtk_tree_path_free (path);
+ }
/* Free */
g_object_unref (header);
- gtk_tree_path_free (path);
return retval;
}
ModestMsgViewWindowPrivate *priv = NULL;
TnyHeader *header = NULL;
GtkTreeIter iter;
+ GtkTreePath *path;
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (self), FALSE);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
&iter,
TNY_GTK_HEADER_LIST_MODEL_INSTANCE_COLUMN,
&header, -1);
-
g_return_val_if_fail (TNY_IS_HEADER (header), FALSE);
if (tny_header_get_flags (header) & TNY_HEADER_FLAG_DELETED) {
g_object_unref (header);
return modest_msg_view_window_select_next_message (self);
}
+ path = gtk_tree_model_get_path (priv->header_model, &iter);
+
/* Read the message & show it */
- message_reader (self, priv, header, iter);
+ message_reader (self, priv, header, path);
/* Free */
g_object_unref (header);
}
/* Read the message & show it */
- if (!message_reader (window, priv, header, iter)) {
+ if (!message_reader (window, priv, header, path)) {
g_object_unref (header);
break;
}