error = NULL;
reply_key = g_strdup_printf ("%s/%s", MODEST_CONF_NAMESPACE, MODEST_CONF_REPLY_TYPE);
reply_type = modest_conf_get_int (conf, reply_key, &error);
- if (error) {
+ if (error || reply_type == 0) {
g_warning ("key %s not defined", reply_key);
reply_type = MODEST_MAIL_OPERATION_REPLY_TYPE_CITE;
- g_error_free (error);
- error = NULL;
+ if (error) {
+ g_error_free (error);
+ error = NULL;
+ }
}
g_free (reply_key);
forward_key = g_strdup_printf ("%s/%s", MODEST_CONF_NAMESPACE, MODEST_CONF_FORWARD_TYPE);
forward_type = modest_conf_get_int (conf, forward_key, NULL);
- if (error) {
+ if (error || forward_type == 0) {
g_warning ("key %s not defined", forward_key);
- reply_type = MODEST_MAIL_OPERATION_FORWARD_TYPE_INLINE;
- g_error_free (error);
+ forward_type = MODEST_MAIL_OPERATION_FORWARD_TYPE_INLINE;
+ if (error) {
+ g_error_free (error);
+ error = NULL;
+ }
}
g_free (forward_key);
g_warning ("unexpected action type: %d", action);
}
- /* Set from */
- new_header = tny_msg_get_header (new_msg);
- tny_header_set_from (new_header,
- modest_folder_view_get_selected_account (priv->folder_view));
-
- /* Show edit window */
- msg_win = modest_edit_msg_window_new (priv->widget_factory,
- edit_type,
- new_msg);
- gtk_widget_show (msg_win);
+ if (new_msg) {
+ /* Set from */
+ new_header = tny_msg_get_header (new_msg);
+ tny_header_set_from (new_header,
+ modest_folder_view_get_selected_account (priv->folder_view));
+
+ /* Show edit window */
+ msg_win = modest_edit_msg_window_new (priv->widget_factory,
+ edit_type,
+ new_msg);
+ gtk_widget_show (msg_win);
+
+ /* Clean and go on */
+ g_object_unref (new_msg);
+ }
- /* Clean and go on */
- g_object_unref (new_msg);
tny_iterator_next (iter);
} while (!tny_iterator_is_done (iter));
#include "modest-text-utils.h"
#include "modest-tny-msg-actions.h"
#include "modest-tny-platform-factory.h"
+#include "modest-marshal.h"
/* 'private'/'protected' functions */
static void modest_mail_operation_class_init (ModestMailOperationClass *klass);
TnyList *parts;
TnyIterator *iter;
+ g_return_val_if_fail (TNY_IS_MSG (msg), NULL);
+ g_return_val_if_fail (from != NULL , NULL);
+ g_return_val_if_fail (forward_type > 0, NULL);
+
/* Create new objects */
new_msg = TNY_MSG (tny_camel_msg_new ());
new_header = TNY_HEADER (tny_camel_header_new ());
g_free (new_subject);
/* Get body from original msg */
- new_body = (gchar *) modest_tny_msg_actions_find_body (msg, FALSE);
+ new_body = (gchar *) modest_tny_msg_actions_find_body (msg, TRUE);
if (!new_body) {
g_object_unref (new_msg);
return NULL;
tny_mime_part_set_filename (attachment_part, tny_header_get_subject (header));
break;
+ default:
+ g_warning (_("Invalid forward type"));
+ g_free (new_msg);
}
/* Clean */
g_free (new_subject);
/* Get body from original msg */
- new_body = (gchar*) modest_tny_msg_actions_find_body (msg, FALSE);
+ new_body = (gchar*) modest_tny_msg_actions_find_body (msg, TRUE);
if (!new_body) {
g_object_unref (new_msg);
return NULL;
cur_folder = TNY_FOLDER (tny_iterator_get_current (ifolders));
helper = g_slice_new0 (AsyncHelper);
- helper->mail_op = mail_op;
+ helper->mail_op = mail_op;
helper->user_data = user_data;
- helper->cb = callback;
+ helper->cb = G_CALLBACK (callback);
+
tny_folder_refresh_async (cur_folder, folder_refresh_cb,
status_update_cb, helper);
}
/* Subscribe to folder */
if (!tny_folder_is_subscribed (new_folder)) {
- store_account = tny_folder_get_account (TNY_FOLDER (parent));
+ store_account = TNY_STORE_ACCOUNT (tny_folder_get_account (TNY_FOLDER (parent)));
tny_store_account_subscribe (store_account, new_folder);
g_object_unref (G_OBJECT (store_account));
}