This patch addapts modest to the new API for TnyHeader in tinymail
authorJose Dapena Paz <jdapena@igalia.com>
Wed, 26 Mar 2008 14:50:31 +0000 (14:50 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Wed, 26 Mar 2008 14:50:31 +0000 (14:50 +0000)
(offering dup methods instead of get methods for obtaining strings).
* src/gnome/modest-msg-edit-window.c,
  src/gnome/modest-msg-view-window.c,
  src/widgets/modest-details-dialog.c,
  src/widgets/modest-attachment-view.c,
  src/widgets/modest-header-view.c,
  src/widgets/modest-mail-header-view.c,
  src/modest-tny-msg.c,
  src/modest-ui-actions.c,
  src/dbus_api/modest-dbus-callback.c,
  src/modest-tny-folder.c,
  src/modest-email-clipboard.c,
  src/maemo/modest-msg-edit-window.c,
  src/maemo/modest-platform.c,
  src/maemo/modest-msg-view-window.c,
  src/modest-formatter.c,
  src/modest-search.c,
  src/modest-tny-send-queue.c:
        * Use dup instead of get for TnyHeader strings.

Other changes:
* src/gnome/modest-account-settings-dialog.c:
        * Proper shadow for some tabs.
        * Use save password attribute properly.

pmo-trunk-r4347

19 files changed:
src/dbus_api/modest-dbus-callbacks.c
src/gnome/modest-account-settings-dialog.c
src/gnome/modest-msg-edit-window.c
src/gnome/modest-msg-view-window.c
src/maemo/modest-msg-edit-window.c
src/maemo/modest-msg-view-window.c
src/maemo/modest-platform.c
src/modest-email-clipboard.c
src/modest-formatter.c
src/modest-search.c
src/modest-tny-folder.c
src/modest-tny-msg.c
src/modest-tny-send-queue.c
src/modest-ui-actions.c
src/widgets/modest-attachment-view.c
src/widgets/modest-details-dialog.c
src/widgets/modest-header-view-render.c
src/widgets/modest-header-view.c
src/widgets/modest-mail-header-view.c

index 241221a..2a6f156 100644 (file)
@@ -636,7 +636,8 @@ on_idle_delete_message (gpointer user_data)
        TnyHeader *header = NULL, *msg_header = NULL;
        TnyMsg *msg = NULL;
        TnyAccount *account = NULL;
        TnyHeader *header = NULL, *msg_header = NULL;
        TnyMsg *msg = NULL;
        TnyAccount *account = NULL;
-       const char *uri = NULL, *uid = NULL;
+       const char *uri = NULL;
+       gchar *uid = NULL;
        gint res = 0;
        ModestMailOperation *mail_op = NULL;
        ModestWindow *main_win = NULL, *msg_view = NULL;
        gint res = 0;
        ModestMailOperation *mail_op = NULL;
        ModestWindow *main_win = NULL, *msg_view = NULL;
@@ -655,7 +656,6 @@ on_idle_delete_message (gpointer user_data)
                                                      FALSE); /* don't create */
        
        msg_header = tny_msg_get_header (msg);
                                                      FALSE); /* don't create */
        
        msg_header = tny_msg_get_header (msg);
-       uid = tny_header_get_uid (msg_header);
        folder = tny_msg_get_folder (msg);
 
        if (!folder) {
        folder = tny_msg_get_folder (msg);
 
        if (!folder) {
@@ -665,22 +665,25 @@ on_idle_delete_message (gpointer user_data)
                return OSSO_ERROR; 
        }
 
                return OSSO_ERROR; 
        }
 
+       uid = tny_header_dup_uid (msg_header);
        headers = tny_simple_list_new ();
        tny_folder_get_headers (folder, headers, TRUE, NULL);
        iter = tny_list_create_iterator (headers);
        header = NULL;
 
        while (!tny_iterator_is_done (iter)) {
        headers = tny_simple_list_new ();
        tny_folder_get_headers (folder, headers, TRUE, NULL);
        iter = tny_list_create_iterator (headers);
        header = NULL;
 
        while (!tny_iterator_is_done (iter)) {
-               const char *cur_id = NULL;
+               gchar *cur_id = NULL;
 
                header = TNY_HEADER (tny_iterator_get_current (iter));
                if (header)
 
                header = TNY_HEADER (tny_iterator_get_current (iter));
                if (header)
-                       cur_id = tny_header_get_uid (header);
+                       cur_id = tny_header_dup_uid (header);
                
                if (cur_id && uid && g_str_equal (cur_id, uid)) {
                
                if (cur_id && uid && g_str_equal (cur_id, uid)) {
+                       g_free (cur_id);
                        /* g_debug ("Found corresponding header from folder"); */
                        break;
                }
                        /* g_debug ("Found corresponding header from folder"); */
                        break;
                }
+               g_free (cur_id);
 
                if (header) {
                        g_object_unref (header);
 
                if (header) {
                        g_object_unref (header);
@@ -689,6 +692,7 @@ on_idle_delete_message (gpointer user_data)
                
                tny_iterator_next (iter);
        }
                
                tny_iterator_next (iter);
        }
+       g_free (uid);
 
        g_object_unref (iter);
        iter = NULL;
 
        g_object_unref (iter);
        iter = NULL;
index ac04625..1c095b6 100644 (file)
@@ -387,7 +387,7 @@ create_page_account_details (ModestAccountSettingsDialog *self)
        
        gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrollwin), box);
        gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_NONE);
        
        gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrollwin), box);
        gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_NONE);
-       gtk_viewport_set_shadow_type (GTK_VIEWPORT (gtk_bin_get_child (scrollwin)), GTK_SHADOW_NONE);
+       gtk_viewport_set_shadow_type (GTK_VIEWPORT (gtk_bin_get_child (GTK_BIN (scrollwin))), GTK_SHADOW_NONE);
        gtk_widget_show (scrollwin);
 
        focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrollwin));
        gtk_widget_show (scrollwin);
 
        focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrollwin));
@@ -1115,8 +1115,9 @@ on_response (GtkDialog *wizard_dialog,
                                        }
                                        g_object_unref (store_settings);
                                        g_object_unref (transport_settings);
                                        }
                                        g_object_unref (store_settings);
                                        g_object_unref (transport_settings);
-                                       
-                                       modest_platform_information_banner(NULL, NULL, _("mcen_ib_advsetup_settings_saved"));
+
+                                       if (!self->save_password)
+                                               modest_platform_information_banner(NULL, NULL, _("mcen_ib_advsetup_settings_saved"));
                                }
                        } else {
                                modest_platform_information_banner (NULL, NULL, _("mail_ib_setting_failed"));
                                }
                        } else {
                                modest_platform_information_banner (NULL, NULL, _("mail_ib_setting_failed"));
@@ -1177,6 +1178,7 @@ modest_account_settings_dialog_init (ModestAccountSettingsDialog *self)
             G_CALLBACK (on_response), self); 
             
     self->modified = FALSE;
             G_CALLBACK (on_response), self); 
             
     self->modified = FALSE;
+    self->save_password;
 
     /* When this window is shown, hibernation should not be possible, 
         * because there is no sensible way to save the state: */
 
     /* When this window is shown, hibernation should not be possible, 
         * because there is no sensible way to save the state: */
@@ -1602,6 +1604,15 @@ enable_buttons (ModestAccountSettingsDialog *self)
                                           enable_ok);
 }
 
                                           enable_ok);
 }
 
+void
+modest_account_settings_dialog_save_password (ModestAccountSettingsDialog *dialog)
+{
+       g_return_if_fail (MODEST_IS_ACCOUNT_SETTINGS_DIALOG (dialog));
+
+       dialog->save_password = TRUE;
+       dialog->modified = TRUE;
+}
+
 static void
 modest_account_settings_dialog_class_init (ModestAccountSettingsDialogClass *klass)
 {
 static void
 modest_account_settings_dialog_class_init (ModestAccountSettingsDialogClass *klass)
 {
index ecff6bb..0f3a7d2 100644 (file)
@@ -381,7 +381,7 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg)
 {
        TnyHeader *header;
        TnyFolder *msg_folder;
 {
        TnyHeader *header;
        TnyFolder *msg_folder;
-       const gchar *to, *cc, *bcc, *subject;
+       gchar *to, *cc, *bcc, *subject;
        ModestMsgEditWindowPrivate *priv;
        gchar *body;
        
        ModestMsgEditWindowPrivate *priv;
        gchar *body;
        
@@ -391,10 +391,10 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg)
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
 
        header  = tny_msg_get_header (msg);
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
 
        header  = tny_msg_get_header (msg);
-       to      = tny_header_get_to (header);
-       cc      = tny_header_get_cc (header);
-       bcc     = tny_header_get_bcc (header);
-       subject = tny_header_get_subject (header);
+       to      = tny_header_dup_to (header);
+       cc      = tny_header_dup_cc (header);
+       bcc     = tny_header_dup_bcc (header);
+       subject = tny_header_dup_subject (header);
 
        if (to)
                gtk_entry_set_text (GTK_ENTRY(priv->to_field), to);
 
        if (to)
                gtk_entry_set_text (GTK_ENTRY(priv->to_field), to);
@@ -440,6 +440,11 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg)
                }
                g_object_unref (msg_folder);
        }
                }
                g_object_unref (msg_folder);
        }
+
+       g_free (subject);
+       g_free (to);
+       g_free (cc);
+       g_free (bcc);
 }
 
 
 }
 
 
@@ -796,7 +801,7 @@ modest_msg_edit_window_remove_attachments (ModestMsgEditWindow *window,
                        if (TNY_IS_MSG (part)) {
                                TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
                                if (header) {
                        if (TNY_IS_MSG (part)) {
                                TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
                                if (header) {
-                                       filename = g_strdup (tny_header_get_subject (header));
+                                       filename = tny_header_dup_subject (header);
                                        g_object_unref (header);
                                }
                                if (filename == NULL) {
                                        g_object_unref (header);
                                }
                                if (filename == NULL) {
index 9900219..172bb0f 100644 (file)
@@ -215,7 +215,7 @@ modest_msg_view_window_new_for_attachment (TnyMsg *msg,
        GtkActionGroup *action_group;
        GError *error = NULL;
        TnyHeader *header = NULL;
        GtkActionGroup *action_group;
        GError *error = NULL;
        TnyHeader *header = NULL;
-       const gchar *subject = NULL;
+       gchar *subject = NULL;
        ModestDimmingRulesGroup *menu_rules_group = NULL;
        ModestDimmingRulesGroup *toolbar_rules_group = NULL;
        ModestDimmingRulesGroup *clipboard_rules_group = NULL;
        ModestDimmingRulesGroup *menu_rules_group = NULL;
        ModestDimmingRulesGroup *toolbar_rules_group = NULL;
        ModestDimmingRulesGroup *clipboard_rules_group = NULL;
@@ -284,12 +284,13 @@ modest_msg_view_window_new_for_attachment (TnyMsg *msg,
 
        header = tny_msg_get_header (msg);
        if (header)
 
        header = tny_msg_get_header (msg);
        if (header)
-               subject = tny_header_get_subject (header);
+               subject = tny_header_dup_subject (header);
        
        if (subject != NULL)
                gtk_window_set_title (GTK_WINDOW (obj), subject);
        else
                gtk_window_set_title (GTK_WINDOW(obj), "Modest");
        
        if (subject != NULL)
                gtk_window_set_title (GTK_WINDOW (obj), subject);
        else
                gtk_window_set_title (GTK_WINDOW(obj), "Modest");
+       g_free (subject);
 
        if (header)
                g_object_unref (header);
 
        if (header)
                g_object_unref (header);
@@ -356,13 +357,14 @@ modest_msg_view_window_get_message_uid (ModestMsgViewWindow *self)
                return NULL;
 
        header = tny_msg_get_header (msg);
                return NULL;
 
        header = tny_msg_get_header (msg);
+       g_free (priv->msg_uid);
        if (header) {
        if (header) {
-               retval = tny_header_get_uid (header);
+               priv->msg_uid = tny_header_dup_uid (header);
                g_object_unref (header);
        }
        g_object_unref (msg);
 
                g_object_unref (header);
        }
        g_object_unref (msg);
 
-       return retval;
+       return priv->msg_uid;
 }
 
 ModestWindow*   
 }
 
 ModestWindow*   
index 78a5ba9..a9fd316 100644 (file)
@@ -508,15 +508,21 @@ get_transports (void)
 static ModestPair *
 find_transport_from_message_sender (ModestPairList *transports, TnyMsg *msg)
 {
 static ModestPair *
 find_transport_from_message_sender (ModestPairList *transports, TnyMsg *msg)
 {
+       ModestPair *account_pair = NULL;
+       gchar *from;
+       TnyHeader *header;
+
        g_return_val_if_fail (transports, NULL);
        g_return_val_if_fail (msg, NULL);
 
        g_return_val_if_fail (transports, NULL);
        g_return_val_if_fail (msg, NULL);
 
-       ModestPair *account_pair = NULL;
-       TnyHeader *header = tny_msg_get_header (msg);
+       header = tny_msg_get_header (msg);
 
 
-       if (header != NULL && tny_header_get_from (header)) {
-               char *from_addr = modest_text_utils_get_email_address (tny_header_get_from (header));
+       if (header != NULL && (from = tny_header_dup_from (header))) {
                GSList *iter;
                GSList *iter;
+               char *from_addr;
+
+               from_addr = modest_text_utils_get_email_address (from);
+               g_free (from);
                for (iter = transports; iter && !account_pair; iter = iter->next) {
                        ModestPair *pair = (ModestPair *) iter->data;
                        char *account_addr = modest_text_utils_get_email_address ((char *) pair->second);
                for (iter = transports; iter && !account_pair; iter = iter->next) {
                        ModestPair *pair = (ModestPair *) iter->data;
                        char *account_addr = modest_text_utils_get_email_address ((char *) pair->second);
@@ -1174,7 +1180,7 @@ static void
 set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich)
 {
        TnyHeader *header;
 set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich)
 {
        TnyHeader *header;
-       const gchar *to, *cc, *bcc, *subject;
+       gchar *to, *cc, *bcc, *subject;
        gchar *body;
        ModestMsgEditWindowPrivate *priv;
        GtkTextIter iter;
        gchar *body;
        ModestMsgEditWindowPrivate *priv;
        GtkTextIter iter;
@@ -1188,10 +1194,10 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich)
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
 
        header = tny_msg_get_header (msg);
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
 
        header = tny_msg_get_header (msg);
-       to      = tny_header_get_to (header);
-       cc      = tny_header_get_cc (header);
-       bcc     = tny_header_get_bcc (header);
-       subject = tny_header_get_subject (header);
+       to      = tny_header_dup_to (header);
+       cc      = tny_header_dup_cc (header);
+       bcc     = tny_header_dup_bcc (header);
+       subject = tny_header_dup_subject (header);
        priority_flags = tny_header_get_priority (header);
 
        if (to)
        priority_flags = tny_header_get_priority (header);
 
        if (to)
@@ -1299,6 +1305,11 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich)
                }
                g_object_unref (msg_folder);
        }
                }
                g_object_unref (msg_folder);
        }
+
+       g_free (to);
+       g_free (subject);
+       g_free (cc);
+       g_free (bcc);
 }
 
 static void
 }
 
 static void
@@ -2397,7 +2408,7 @@ modest_msg_edit_window_remove_attachments (ModestMsgEditWindow *window,
                        if (TNY_IS_MSG (part)) {
                                TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
                                if (header) {
                        if (TNY_IS_MSG (part)) {
                                TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
                                if (header) {
-                                       filename = g_strdup (tny_header_get_subject (header));
+                                       filename = tny_header_dup_subject (header);
                                        g_object_unref (header);
                                }
                                if (filename == NULL) {
                                        g_object_unref (header);
                                }
                                if (filename == NULL) {
index 45d7a90..6152030 100644 (file)
@@ -2749,7 +2749,7 @@ modest_msg_view_window_remove_attachments (ModestMsgViewWindow *window, gboolean
 
        n_attachments = tny_list_get_length (mime_parts);
        if (n_attachments == 1) {
 
        n_attachments = tny_list_get_length (mime_parts);
        if (n_attachments == 1) {
-               const gchar *filename;
+               gchar *filename;
                TnyMimePart *part;
 
                iter = tny_list_create_iterator (mime_parts);
                TnyMimePart *part;
 
                iter = tny_list_create_iterator (mime_parts);
@@ -2758,14 +2758,15 @@ modest_msg_view_window_remove_attachments (ModestMsgViewWindow *window, gboolean
                if (modest_tny_mime_part_is_msg (part)) {
                        TnyHeader *header;
                        header = tny_msg_get_header (TNY_MSG (part));
                if (modest_tny_mime_part_is_msg (part)) {
                        TnyHeader *header;
                        header = tny_msg_get_header (TNY_MSG (part));
-                       filename = tny_header_get_subject (header);
+                       filename = tny_header_dup_subject (header);
                        g_object_unref (header);
                        if (filename == NULL)
                        g_object_unref (header);
                        if (filename == NULL)
-                               filename = _("mail_va_no_subject");
+                               filename = g_strdup (_("mail_va_no_subject"));
                } else {
                } else {
-                       filename = tny_mime_part_get_filename (TNY_MIME_PART (part));
+                       filename = g_strdup (tny_mime_part_get_filename (TNY_MIME_PART (part)));
                }
                confirmation_message = g_strdup_printf (_("mcen_nc_purge_file_text"), filename);
                }
                confirmation_message = g_strdup_printf (_("mcen_nc_purge_file_text"), filename);
+               g_free (filename);
                g_object_unref (part);
        } else {
                confirmation_message = g_strdup_printf (ngettext("mcen_nc_purge_file_text", 
                g_object_unref (part);
        } else {
                confirmation_message = g_strdup_printf (ngettext("mcen_nc_purge_file_text", 
@@ -2828,18 +2829,21 @@ update_window_title (ModestMsgViewWindow *window)
        ModestMsgViewWindowPrivate *priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
        TnyMsg *msg = NULL;
        TnyHeader *header = NULL;
        ModestMsgViewWindowPrivate *priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
        TnyMsg *msg = NULL;
        TnyHeader *header = NULL;
-       const gchar *subject = NULL;
+       gchar *subject = NULL;
        
        msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
 
        if (msg != NULL) {
                header = tny_msg_get_header (msg);
        
        msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
 
        if (msg != NULL) {
                header = tny_msg_get_header (msg);
-               subject = tny_header_get_subject (header);
+               subject = tny_header_dup_subject (header);
+               g_object_unref (header);
                g_object_unref (msg);
        }
 
                g_object_unref (msg);
        }
 
-       if ((subject == NULL)||(subject[0] == '\0'))
-               subject = _("mail_va_no_subject");
+       if ((subject == NULL)||(subject[0] == '\0')) {
+               g_free (subject);
+               subject = g_strdup (_("mail_va_no_subject"));
+       }
 
        gtk_window_set_title (GTK_WINDOW (window), subject);
 }
 
        gtk_window_set_title (GTK_WINDOW (window), subject);
 }
index 2881ffb..ae0c3a4 100644 (file)
@@ -1439,21 +1439,26 @@ modest_platform_on_new_headers_received (TnyList *header_list,
                TnyFolder *folder = tny_header_get_folder (header);
                gboolean first_notification = TRUE;
                gint notif_id;
                TnyFolder *folder = tny_header_get_folder (header);
                gboolean first_notification = TRUE;
                gint notif_id;
+               gchar *str;
 
                /* constant string, don't free */
                display_date = modest_text_utils_get_display_date (tny_header_get_date_received (header));
 
 
                /* constant string, don't free */
                display_date = modest_text_utils_get_display_date (tny_header_get_date_received (header));
 
-               display_address = g_strdup(tny_header_get_from (header));
+               display_address = tny_header_dup_from (header);
                modest_text_utils_get_display_address (display_address); /* string is changed in-place */
                
                summary = g_strdup_printf ("%s - %s", display_date, display_address);
                modest_text_utils_get_display_address (display_address); /* string is changed in-place */
                
                summary = g_strdup_printf ("%s - %s", display_date, display_address);
+               str = tny_header_dup_subject (header);
                notification = hildon_notification_new (summary,
                notification = hildon_notification_new (summary,
-                                                       tny_header_get_subject (header),
+                                                       str,
                                                        "qgn_list_messagin",
                                                        "email.arrive");
                                                        "qgn_list_messagin",
                                                        "email.arrive");
+               g_free (str);
                /* Create the message URL */
                /* Create the message URL */
+               str = tny_header_dup_uid (header);
                url = g_strdup_printf ("%s/%s", tny_folder_get_url_string (folder), 
                url = g_strdup_printf ("%s/%s", tny_folder_get_url_string (folder), 
-                                      tny_header_get_uid (header));
+                                      str);
+               g_free (str);
 
                hildon_notification_add_dbus_action(notification,
                                                    "default",
 
                hildon_notification_add_dbus_action(notification,
                                                    "default",
index 878718a..ea34a99 100644 (file)
@@ -195,7 +195,7 @@ modest_email_clipboard_set_data (ModestEmailClipboard *self,
                        while (!tny_iterator_is_done (iter)) {
                                obj = tny_iterator_get_current (iter);
                                if (obj && TNY_IS_HEADER (obj))
                        while (!tny_iterator_is_done (iter)) {
                                obj = tny_iterator_get_current (iter);
                                if (obj && TNY_IS_HEADER (obj))
-                                       id = g_strdup(tny_header_get_message_id (TNY_HEADER (obj)));
+                                       id = tny_header_dup_message_id (TNY_HEADER (obj));
                                
                                priv->hidding[i++] = id;
                                tny_iterator_next (iter);
                                
                                priv->hidding[i++] = id;
                                tny_iterator_next (iter);
index 932c99c..8eb4c75 100644 (file)
@@ -278,28 +278,40 @@ static gchar *
 modest_formatter_wrapper_cite (ModestFormatter *self, const gchar *text, TnyHeader *header,
                               GList *attachments) 
 {
 modest_formatter_wrapper_cite (ModestFormatter *self, const gchar *text, TnyHeader *header,
                               GList *attachments) 
 {
+       gchar *result, *from;
        ModestFormatterPrivate *priv = MODEST_FORMATTER_GET_PRIVATE (self);
        
        ModestFormatterPrivate *priv = MODEST_FORMATTER_GET_PRIVATE (self);
        
-       return modest_text_utils_cite (text, 
-                                      priv->content_type, 
-                                      priv->signature,
-                                      tny_header_get_from (header), 
-                                      tny_header_get_date_sent (header));
+       from = tny_header_dup_from (header);
+       result = modest_text_utils_cite (text, 
+                                        priv->content_type, 
+                                        priv->signature,
+                                        from, 
+                                        tny_header_get_date_sent (header));
+       g_free (from);
+       return result;
 }
 
 static gchar *
 modest_formatter_wrapper_inline (ModestFormatter *self, const gchar *text, TnyHeader *header,
                                 GList *attachments) 
 {
 }
 
 static gchar *
 modest_formatter_wrapper_inline (ModestFormatter *self, const gchar *text, TnyHeader *header,
                                 GList *attachments) 
 {
+       gchar *result, *from, *to, *subject;
        ModestFormatterPrivate *priv = MODEST_FORMATTER_GET_PRIVATE (self);
 
        ModestFormatterPrivate *priv = MODEST_FORMATTER_GET_PRIVATE (self);
 
-       return modest_text_utils_inline (text, 
-                                        priv->content_type, 
-                                        priv->signature,
-                                        tny_header_get_from (header), 
-                                        tny_header_get_date_sent (header),
-                                        tny_header_get_to (header),
-                                        tny_header_get_subject (header));
+       from = tny_header_dup_from (header);
+       to = tny_header_dup_to (header);
+       subject = tny_header_dup_subject (header);
+       result =  modest_text_utils_inline (text, 
+                                           priv->content_type, 
+                                           priv->signature,
+                                           from,
+                                           tny_header_get_date_sent (header),
+                                           to,
+                                           subject);
+       g_free (subject);
+       g_free (to);
+       g_free (from);
+       return result;
 }
 
 static gchar *
 }
 
 static gchar *
@@ -310,6 +322,7 @@ modest_formatter_wrapper_quote (ModestFormatter *self, const gchar *text, TnyHea
        GList *filenames = NULL;
        GList *node = NULL;
        gchar *result = NULL;
        GList *filenames = NULL;
        GList *node = NULL;
        gchar *result = NULL;
+       gchar *from;
        
        /* First we need a GList of attachments filenames */
        for (node = attachments; node != NULL; node = g_list_next (node)) {
        
        /* First we need a GList of attachments filenames */
        for (node = attachments; node != NULL; node = g_list_next (node)) {
@@ -317,7 +330,7 @@ modest_formatter_wrapper_quote (ModestFormatter *self, const gchar *text, TnyHea
                gchar *filename = NULL;
                if (TNY_IS_MSG (part)) {
                        TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
                gchar *filename = NULL;
                if (TNY_IS_MSG (part)) {
                        TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
-                       filename = g_strdup (tny_header_get_subject (header));
+                       filename = tny_header_dup_subject (header);
                        if ((filename == NULL)||(filename[0] == '\0')) {
                                g_free (filename);
                                filename = g_strdup (_("mail_va_no_subject"));
                        if ((filename == NULL)||(filename[0] == '\0')) {
                                g_free (filename);
                                filename = g_strdup (_("mail_va_no_subject"));
@@ -333,13 +346,15 @@ modest_formatter_wrapper_quote (ModestFormatter *self, const gchar *text, TnyHea
        filenames = g_list_reverse (filenames);
 
        /* TODO: get 80 from the configuration */
        filenames = g_list_reverse (filenames);
 
        /* TODO: get 80 from the configuration */
+       from = tny_header_dup_from (header);
        result = modest_text_utils_quote (text, 
                                          priv->content_type, 
                                          priv->signature,
        result = modest_text_utils_quote (text, 
                                          priv->content_type, 
                                          priv->signature,
-                                         tny_header_get_from (header), 
+                                         from,
                                          tny_header_get_date_sent (header),
                                          filenames,
                                          80);
                                          tny_header_get_date_sent (header),
                                          filenames,
                                          80);
+       g_free (from);
 
        g_list_foreach (filenames, (GFunc) g_free, NULL);
        g_list_free (filenames);
 
        g_list_foreach (filenames, (GFunc) g_free, NULL);
        g_list_free (filenames);
index 3c0effc..68d02a4 100644 (file)
@@ -91,9 +91,9 @@ add_hit (GList *list, TnyHeader *header, TnyFolder *folder)
        TnyHeaderFlags   flags;
        char            *furl;
        char            *msg_url;
        TnyHeaderFlags   flags;
        char            *furl;
        char            *msg_url;
-       const char      *uid;
-       const char      *subject;
-       const char      *sender;
+       char      *uid;
+       char      *subject;
+       char      *sender;
 
        hit = g_slice_new0 (ModestSearchResultHit);
 
 
        hit = g_slice_new0 (ModestSearchResultHit);
 
@@ -107,22 +107,25 @@ add_hit (GList *list, TnyHeader *header, TnyFolder *folder)
         * and/or find out what UID form is used when finding, in camel_data_cache_get().
         * so we can find what we get. Philip is working on this.
         */
         * and/or find out what UID form is used when finding, in camel_data_cache_get().
         * so we can find what we get. Philip is working on this.
         */
-       uid = tny_header_get_uid (header);
+       uid = tny_header_dup_uid (header);
        if (!furl) {
        if (!furl) {
-               g_warning ("%s: tny_header_get_uid(): returned NULL for message with subject=%s\n", __FUNCTION__, tny_header_get_subject (header));
+               gchar *subject = tny_header_dup_subject (header);
+               g_warning ("%s: tny_header_get_uid(): returned NULL for message with subject=%s\n", __FUNCTION__, subject);
+               g_free (subject);
        }
        
        msg_url = g_strdup_printf ("%s/%s", furl, uid);
        g_free (furl);
        }
        
        msg_url = g_strdup_printf ("%s/%s", furl, uid);
        g_free (furl);
+       g_free (uid);
        
        
-       subject = tny_header_get_subject (header);
-       sender = tny_header_get_from (header);
+       subject = tny_header_dup_subject (header);
+       sender = tny_header_dup_from (header);
        
        flags = tny_header_get_flags (header);
 
        hit->msgid = msg_url;
        
        flags = tny_header_get_flags (header);
 
        hit->msgid = msg_url;
-       hit->subject = g_strdup_or_null (subject);
-       hit->sender = g_strdup_or_null (sender);
+       hit->subject = subject;
+       hit->sender = sender;
        hit->folder = g_strdup_or_null (tny_folder_get_name (folder));
        hit->msize = tny_header_get_message_size (header);
        hit->has_attachment = flags & TNY_HEADER_FLAG_ATTACHMENTS;
        hit->folder = g_strdup_or_null (tny_folder_get_name (folder));
        hit->msize = tny_header_get_message_size (header);
        hit->has_attachment = flags & TNY_HEADER_FLAG_ATTACHMENTS;
@@ -418,15 +421,16 @@ modest_search_folder_get_headers_cb (TnyFolder *folder,
                                goto go_next;
 
                if (helper->search->flags & MODEST_SEARCH_SUBJECT) {
                                goto go_next;
 
                if (helper->search->flags & MODEST_SEARCH_SUBJECT) {
-                       const char *str = tny_header_get_subject (cur);
+                       char *str = tny_header_dup_subject (cur);
 
                        if ((found = search_string (helper->search->subject, str, helper->search))) {
                            helper->msg_hits = add_hit (helper->msg_hits, cur, folder);
                        }
 
                        if ((found = search_string (helper->search->subject, str, helper->search))) {
                            helper->msg_hits = add_hit (helper->msg_hits, cur, folder);
                        }
+                       g_free (str);
                }
                
                if (!found && helper->search->flags & MODEST_SEARCH_SENDER) {
                }
                
                if (!found && helper->search->flags & MODEST_SEARCH_SENDER) {
-                       char *str = g_strdup (tny_header_get_from (cur));
+                       char *str = tny_header_dup_from (cur);
 
                        if ((found = search_string (helper->search->from, (const gchar *) str, helper->search))) {
                                helper->msg_hits = add_hit (helper->msg_hits, cur, folder);
 
                        if ((found = search_string (helper->search->from, (const gchar *) str, helper->search))) {
                                helper->msg_hits = add_hit (helper->msg_hits, cur, folder);
@@ -435,11 +439,12 @@ modest_search_folder_get_headers_cb (TnyFolder *folder,
                }
                
                if (!found && helper->search->flags & MODEST_SEARCH_RECIPIENT) {
                }
                
                if (!found && helper->search->flags & MODEST_SEARCH_RECIPIENT) {
-                       const char *str = tny_header_get_to (cur);
+                       char *str = tny_header_dup_to (cur);
 
                        if ((found = search_string (helper->search->recipient, str, helper->search))) {
                                helper->msg_hits = add_hit (helper->msg_hits, cur, folder);
                        }
 
                        if ((found = search_string (helper->search->recipient, str, helper->search))) {
                                helper->msg_hits = add_hit (helper->msg_hits, cur, folder);
                        }
+                       g_free (str);
                }
        
                if (!found && helper->search->flags & MODEST_SEARCH_BODY) {
                }
        
                if (!found && helper->search->flags & MODEST_SEARCH_BODY) {
@@ -463,7 +468,10 @@ modest_search_folder_get_headers_cb (TnyFolder *folder,
                                        g_object_unref (msg);
                                }
                        } else {        
                                        g_object_unref (msg);
                                }
                        } else {        
-                               g_debug ("Searching in %s\n", tny_header_get_subject (cur));
+                               gchar *str;
+                               str = tny_header_dup_subject (cur);
+                               g_debug ("Searching in %s\n", str);
+                               g_free (str);
                        
                                found = search_mime_part_and_child_parts (TNY_MIME_PART (msg),
                                                                          helper->search);
                        
                                found = search_mime_part_and_child_parts (TNY_MIME_PART (msg),
                                                                          helper->search);
index e8d37da..381cc64 100644 (file)
@@ -328,7 +328,7 @@ modest_tny_folder_get_header_unique_id (TnyHeader *header)
 {
        TnyFolder *folder;
        gchar *url, *retval;
 {
        TnyFolder *folder;
        gchar *url, *retval;
-       const gchar *uid;
+       gchar *uid;
 
        g_return_val_if_fail (TNY_IS_HEADER (header), NULL);
 
 
        g_return_val_if_fail (TNY_IS_HEADER (header), NULL);
 
@@ -337,9 +337,10 @@ modest_tny_folder_get_header_unique_id (TnyHeader *header)
                return NULL;
 
        url = tny_folder_get_url_string (folder);
                return NULL;
 
        url = tny_folder_get_url_string (folder);
-       uid = tny_header_get_uid (header);
+       uid = tny_header_dup_uid (header);
 
        retval = g_strjoin ("/", url, uid, NULL);
 
        retval = g_strjoin ("/", url, uid, NULL);
+       g_free (uid);
 
        g_free (url);
        g_object_unref (folder);
 
        g_free (url);
        g_object_unref (folder);
index 8680c82..4a9c6b8 100644 (file)
@@ -532,6 +532,7 @@ create_reply_forward_mail (TnyMsg *msg, TnyHeader *header, const gchar *from,
 {
        TnyMsg *new_msg;
        TnyHeader *new_header;
 {
        TnyMsg *new_msg;
        TnyHeader *new_header;
+       gchar *old_subject;
        gchar *new_subject;
        TnyMimePart *body = NULL;
        ModestFormatter *formatter;
        gchar *new_subject;
        TnyMimePart *body = NULL;
        ModestFormatter *formatter;
@@ -587,9 +588,11 @@ create_reply_forward_mail (TnyMsg *msg, TnyHeader *header, const gchar *from,
                subject_prefix = g_strconcat (_("mail_va_re"), ":", NULL);
        else
                subject_prefix = g_strconcat (_("mail_va_fw"), ":", NULL);
                subject_prefix = g_strconcat (_("mail_va_re"), ":", NULL);
        else
                subject_prefix = g_strconcat (_("mail_va_fw"), ":", NULL);
+       old_subject = tny_header_dup_subject (header);
        new_subject =
        new_subject =
-               (gchar *) modest_text_utils_derived_subject (tny_header_get_subject(header),
+               (gchar *) modest_text_utils_derived_subject (old_subject,
                                                             subject_prefix);
                                                             subject_prefix);
+       g_free (old_subject);
        g_free (subject_prefix);
        tny_header_set_subject (new_header, (const gchar *) new_subject);
        g_free (new_subject);
        g_free (subject_prefix);
        tny_header_set_subject (new_header, (const gchar *) new_subject);
        g_free (new_subject);
@@ -703,7 +706,7 @@ get_new_to (TnyMsg *msg, TnyHeader *header, const gchar* from,
            ModestTnyMsgReplyMode reply_mode)
 {
        const gchar* old_reply_to;
            ModestTnyMsgReplyMode reply_mode)
 {
        const gchar* old_reply_to;
-       const gchar* old_from;
+       gchar* old_from;
        gchar* new_to;
        
        /* according to RFC2369 (http://www.faqs.org/rfcs/rfc2369.html), we
        gchar* new_to;
        
        /* according to RFC2369 (http://www.faqs.org/rfcs/rfc2369.html), we
@@ -721,7 +724,7 @@ get_new_to (TnyMsg *msg, TnyHeader *header, const gchar* from,
        //old_reply_to = tny_header_get_replyto (header);
        old_reply_to = modest_tny_mime_part_get_header_value (TNY_MIME_PART(msg), 
                                                              "Reply-To"); 
        //old_reply_to = tny_header_get_replyto (header);
        old_reply_to = modest_tny_mime_part_get_header_value (TNY_MIME_PART(msg), 
                                                              "Reply-To"); 
-       old_from     = tny_header_get_from (header);
+       old_from     = tny_header_dup_from (header);
        
        if (!old_from &&  !old_reply_to) {
                g_warning ("%s: failed to get either Reply-To: or From: from header",
        
        if (!old_from &&  !old_reply_to) {
                g_warning ("%s: failed to get either Reply-To: or From: from header",
@@ -738,10 +741,11 @@ get_new_to (TnyMsg *msg, TnyHeader *header, const gchar* from,
        else
                /* otherwise use either Reply-To: (preferred) or From: */
                new_to = g_strdup (old_reply_to ? old_reply_to : old_from);
        else
                /* otherwise use either Reply-To: (preferred) or From: */
                new_to = g_strdup (old_reply_to ? old_reply_to : old_from);
+       g_free (old_from);
 
        /* in case of ReplyAll, we need to add the Recipients in the old To: */
        if (reply_mode == MODEST_TNY_MSG_REPLY_MODE_ALL) {
 
        /* in case of ReplyAll, we need to add the Recipients in the old To: */
        if (reply_mode == MODEST_TNY_MSG_REPLY_MODE_ALL) {
-               const gchar *old_to = tny_header_get_to (header);
+               gchar *old_to = tny_header_dup_to (header);
                if (!old_to) 
                        g_warning ("%s: no To: address found in source mail",
                                   __FUNCTION__);
                if (!old_to) 
                        g_warning ("%s: no To: address found in source mail",
                                   __FUNCTION__);
@@ -750,6 +754,7 @@ get_new_to (TnyMsg *msg, TnyHeader *header, const gchar* from,
                        gchar *tmp = g_strjoin (",", new_to, old_to, NULL);
                        g_free (new_to);
                        new_to = tmp;
                        gchar *tmp = g_strjoin (",", new_to, old_to, NULL);
                        g_free (new_to);
                        new_to = tmp;
+                       g_free (old_to);
                }
 
                /* remove duplicate entries */
                }
 
                /* remove duplicate entries */
@@ -775,14 +780,17 @@ get_new_to (TnyMsg *msg, TnyHeader *header, const gchar* from,
 static gchar*
 get_new_cc (TnyHeader *header, const gchar* from)
 {
 static gchar*
 get_new_cc (TnyHeader *header, const gchar* from)
 {
-       const gchar *old_cc;
+       gchar *old_cc;
+       gchar *result;
 
 
-       old_cc = tny_header_get_cc (header);
+       old_cc = tny_header_dup_cc (header);
        if (!old_cc)
                return NULL;
 
        /* remove me (the new From:) from the Cc: list */
        if (!old_cc)
                return NULL;
 
        /* remove me (the new From:) from the Cc: list */
-       return modest_text_utils_remove_address (old_cc, from);
+       result =  modest_text_utils_remove_address (old_cc, from);
+       g_free (old_cc);
+       return result;
 }
 
 
 }
 
 
index fc77575..b18c964 100644 (file)
@@ -506,16 +506,17 @@ gchar *
 modest_tny_send_queue_get_msg_id (TnyHeader *header)
 {
        gchar* msg_uid = NULL;
 modest_tny_send_queue_get_msg_id (TnyHeader *header)
 {
        gchar* msg_uid = NULL;
-       const gchar *subject;
+       gchar *subject;
        time_t date_received;
                
        g_return_val_if_fail (header && TNY_IS_HEADER(header), NULL);
 
        /* Get message uid */
        time_t date_received;
                
        g_return_val_if_fail (header && TNY_IS_HEADER(header), NULL);
 
        /* Get message uid */
-       subject = tny_header_get_subject (header);
+       subject = tny_header_dup_subject (header);
        date_received = tny_header_get_date_received (header);
 
        msg_uid = g_strdup_printf ("%s %d", subject, (int) date_received);
        date_received = tny_header_get_date_received (header);
 
        msg_uid = g_strdup_printf ("%s %d", subject, (int) date_received);
+       g_free (subject);
 
        return msg_uid;
 }
 
        return msg_uid;
 }
index 1959b40..9290abe 100644 (file)
@@ -440,7 +440,10 @@ modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
                iter = tny_list_create_iterator (header_list);
                header = TNY_HEADER (tny_iterator_get_current (iter));
                if (header) {
                iter = tny_list_create_iterator (header_list);
                header = TNY_HEADER (tny_iterator_get_current (iter));
                if (header) {
-                       desc = g_strdup_printf ("%s", tny_header_get_subject (header)); 
+                       gchar *subject;
+                       subject = tny_header_dup_subject (header);
+                       desc = g_strdup_printf ("%s", subject); 
+                       g_free (subject);
                        g_object_unref (header);
                }
 
                        g_object_unref (header);
                }
 
@@ -907,13 +910,14 @@ open_msg_cb (ModestMailOperation *mail_op,
        
        if (open_in_editor) {
                ModestAccountMgr *mgr = modest_runtime_get_account_mgr ();
        
        if (open_in_editor) {
                ModestAccountMgr *mgr = modest_runtime_get_account_mgr ();
-               const gchar *from_header = NULL;
+               gchar *from_header = NULL;
 
 
-               from_header = tny_header_get_from (header);
+               from_header = tny_header_dup_from (header);
 
                /* we cannot edit without a valid account... */
                if (!modest_account_mgr_has_accounts(mgr, TRUE)) {
                        if (!modest_ui_actions_run_account_setup_wizard(parent_win))
 
                /* we cannot edit without a valid account... */
                if (!modest_account_mgr_has_accounts(mgr, TRUE)) {
                        if (!modest_ui_actions_run_account_setup_wizard(parent_win))
+                               g_free (from_header);
                                goto cleanup;
                }
                
                                goto cleanup;
                }
                
@@ -931,6 +935,7 @@ open_msg_cb (ModestMailOperation *mail_op,
                                }
                                g_free (from);
                        }
                                }
                                g_free (from);
                        }
+                       g_free (from_header);
                        g_slist_foreach (accounts, (GFunc) g_free, NULL);
                        g_slist_free (accounts);
                }
                        g_slist_foreach (accounts, (GFunc) g_free, NULL);
                        g_slist_free (accounts);
                }
@@ -1143,8 +1148,10 @@ open_msgs_performer(gboolean canceled,
                } else if (proto == MODEST_PROTOCOL_STORE_IMAP) {
                        TnyIterator *iter = tny_list_create_iterator (not_opened_headers);
                        TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
                } else if (proto == MODEST_PROTOCOL_STORE_IMAP) {
                        TnyIterator *iter = tny_list_create_iterator (not_opened_headers);
                        TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
+                       gchar *subject = tny_header_dup_subject (header);
                        error_msg = g_strdup_printf (_("emev_ni_ui_imap_message_not_available_in_server"),
                        error_msg = g_strdup_printf (_("emev_ni_ui_imap_message_not_available_in_server"),
-                                                    tny_header_get_subject (header));
+                                                    subject);
+                       g_free (subject);
                        g_object_unref (header);
                        g_object_unref (iter);
                } else {
                        g_object_unref (header);
                        g_object_unref (iter);
                } else {
@@ -4951,21 +4958,21 @@ on_move_folder_cb (gboolean canceled, GError *err, GtkWindow *parent_window,
        /*                      modest_folder_view_select_folder (MODEST_FOLDER_VIEW(folder_view), */
        /*                                                        TNY_FOLDER (src_folder), TRUE); */
 
        /*                      modest_folder_view_select_folder (MODEST_FOLDER_VIEW(folder_view), */
        /*                                                        TNY_FOLDER (src_folder), TRUE); */
 
+       modest_folder_view_select_folder (MODEST_FOLDER_VIEW(info->folder_view),
+                                         TNY_FOLDER (info->dst_folder), TRUE);
        modest_mail_operation_xfer_folder (mail_op,
                        TNY_FOLDER (info->src_folder),
                        info->dst_folder,
                        info->delete_original, 
                        folder_move_to_cb, 
                        helper);
        modest_mail_operation_xfer_folder (mail_op,
                        TNY_FOLDER (info->src_folder),
                        info->dst_folder,
                        info->delete_original, 
                        folder_move_to_cb, 
                        helper);
+       g_object_unref (G_OBJECT (info->src_folder));
 
 
-       if (modest_mail_operation_get_status (mail_op) == MODEST_MAIL_OPERATION_STATUS_SUCCESS) {       
-               modest_folder_view_select_folder (MODEST_FOLDER_VIEW(info->folder_view),
-                                                 TNY_FOLDER (info->dst_folder), TRUE);
-       }
+       /* if (modest_mail_operation_get_status (mail_op) == MODEST_MAIL_OPERATION_STATUS_SUCCESS) {        */
+       /* } */
        
        /* Unref mail operation */
        g_object_unref (G_OBJECT (mail_op));
        
        /* Unref mail operation */
        g_object_unref (G_OBJECT (mail_op));
-       g_object_unref (G_OBJECT (info->src_folder));
        g_object_unref (G_OBJECT (info->dst_folder));
        g_free (user_data);
 }
        g_object_unref (G_OBJECT (info->dst_folder));
        g_free (user_data);
 }
@@ -5719,8 +5726,11 @@ modest_ui_actions_get_msg_already_deleted_error_msg (ModestWindow *win)
        if (proto == MODEST_PROTOCOL_STORE_POP) {
                msg = g_strdup (_("emev_ni_ui_pop3_msg_recv_error"));
        } else if (proto == MODEST_PROTOCOL_STORE_IMAP) {
        if (proto == MODEST_PROTOCOL_STORE_POP) {
                msg = g_strdup (_("emev_ni_ui_pop3_msg_recv_error"));
        } else if (proto == MODEST_PROTOCOL_STORE_IMAP) {
+               gchar *subject;
+               subject = tny_header_dup_subject (header);
                msg = g_strdup_printf (_("emev_ni_ui_imap_message_not_available_in_server"), 
                msg = g_strdup_printf (_("emev_ni_ui_imap_message_not_available_in_server"), 
-                                      tny_header_get_subject (header));
+                                      subject);
+               g_free (subject);
        } else {
                msg = g_strdup_printf (_("mail_ni_ui_folder_get_msg_folder_error"));
        }
        } else {
                msg = g_strdup_printf (_("mail_ni_ui_folder_get_msg_folder_error"));
        }
index 3d724ac..7c7cae4 100644 (file)
@@ -249,7 +249,7 @@ modest_attachment_view_set_part_default (TnyMimePartView *self, TnyMimePart *mim
                if (TNY_IS_HEADER (header)) {
                        filename = g_strdup (tny_mime_part_get_filename (mime_part));
                        if (!filename)
                if (TNY_IS_HEADER (header)) {
                        filename = g_strdup (tny_mime_part_get_filename (mime_part));
                        if (!filename)
-                               filename = g_strdup (tny_header_get_subject (header));
+                               filename = tny_header_dup_subject (header);
                        if (filename == NULL || filename[0] == '\0')
                                filename = g_strdup (_("mail_va_no_subject"));
                        if (priv->is_purged)
                        if (filename == NULL || filename[0] == '\0')
                                filename = g_strdup (_("mail_va_no_subject"));
                        if (priv->is_purged)
index e3b7278..ebc7959 100644 (file)
@@ -207,10 +207,10 @@ modest_details_dialog_set_header_default (ModestDetailsDialog *self,
        g_return_if_fail (folder_type != TNY_FOLDER_TYPE_INVALID);
        
        /* Get header data */
        g_return_if_fail (folder_type != TNY_FOLDER_TYPE_INVALID);
        
        /* Get header data */
-       from = g_strdup (tny_header_get_from (header));
-       to = g_strdup (tny_header_get_to (header));
-       subject = g_strdup (tny_header_get_subject (header));
-       cc = g_strdup (tny_header_get_cc (header));
+       from = tny_header_dup_from (header);
+       to = tny_header_dup_to (header);
+       subject = tny_header_dup_subject (header);
+       cc = tny_header_dup_cc (header);
        received = tny_header_get_date_received (header);
        sent = tny_header_get_date_sent (header);
        size = tny_header_get_message_size (header);
        received = tny_header_get_date_received (header);
        sent = tny_header_get_date_sent (header);
        size = tny_header_get_message_size (header);
index 1728532..a1a8299 100644 (file)
@@ -344,6 +344,7 @@ _modest_header_view_compact_header_cell_data  (GtkTreeViewColumn *column,  GtkCe
         * theme (gtkrc file) */
        modest_text_utils_get_display_address (address); /* changed in-place */
        set_cell_text (recipient_cell, address, flags, RENDER_CELL_STYLE_GREY);
         * theme (gtkrc file) */
        modest_text_utils_get_display_address (address); /* changed in-place */
        set_cell_text (recipient_cell, address, flags, RENDER_CELL_STYLE_GREY);
+       g_free (address);
        
        if (header_mode == MODEST_HEADER_VIEW_COMPACT_HEADER_MODE_OUTBOX) {
                ModestTnySendQueueStatus status = MODEST_TNY_SEND_QUEUE_UNKNOWN;
        
        if (header_mode == MODEST_HEADER_VIEW_COMPACT_HEADER_MODE_OUTBOX) {
                ModestTnySendQueueStatus status = MODEST_TNY_SEND_QUEUE_UNKNOWN;
index 99788a1..f46f2a7 100644 (file)
@@ -1994,7 +1994,7 @@ filter_row (GtkTreeModel *model,
        
        /* Check hiding */
        if (priv->hidding_ids != NULL) {
        
        /* Check hiding */
        if (priv->hidding_ids != NULL) {
-               id = g_strdup(tny_header_get_message_id (header));
+               id = tny_header_dup_message_id (header);
                for (i=0; i < priv->n_selected && !found; i++)
                        if (priv->hidding_ids[i] != NULL && id != NULL)
                                found = (!strcmp (priv->hidding_ids[i], id));
                for (i=0; i < priv->n_selected && !found; i++)
                        if (priv->hidding_ids[i] != NULL && id != NULL)
                                found = (!strcmp (priv->hidding_ids[i], id));
index 245307e..7a9ad29 100644 (file)
@@ -241,7 +241,7 @@ modest_mail_header_view_set_header_default (TnyHeaderView *self, TnyHeader *head
 
        if (header && G_IS_OBJECT (header))
        {
 
        if (header && G_IS_OBJECT (header))
        {
-               const gchar *to, *from, *subject, *bcc, *cc;
+               gchar *to, *from, *subject, *bcc, *cc;
                GtkWidget *subject_label;
 
                g_object_ref (G_OBJECT (header)); 
                GtkWidget *subject_label;
 
                g_object_ref (G_OBJECT (header)); 
@@ -250,11 +250,11 @@ modest_mail_header_view_set_header_default (TnyHeaderView *self, TnyHeader *head
                modest_mail_header_view_update_is_outgoing (self);
 
 
                modest_mail_header_view_update_is_outgoing (self);
 
 
-               to = tny_header_get_to (header);
-               from = tny_header_get_from (header);
-               subject = tny_header_get_subject (header);
-               cc = tny_header_get_cc (header);
-               bcc = tny_header_get_bcc (header);
+               to = tny_header_dup_to (header);
+               from = tny_header_dup_from (header);
+               subject = tny_header_dup_subject (header);
+               cc = tny_header_dup_cc (header);
+               bcc = tny_header_dup_bcc (header);
 
                priv->subject_box = gtk_hbox_new (FALSE, 0);
                subject_label = gtk_label_new (NULL);
 
                priv->subject_box = gtk_hbox_new (FALSE, 0);
                subject_label = gtk_label_new (NULL);
@@ -307,6 +307,11 @@ modest_mail_header_view_set_header_default (TnyHeaderView *self, TnyHeader *head
                        add_date_time_header (MODEST_MAIL_HEADER_VIEW (self), _("mail_va_date"),
                                              tny_header_get_date_received (header));
                }
                        add_date_time_header (MODEST_MAIL_HEADER_VIEW (self), _("mail_va_date"),
                                              tny_header_get_date_received (header));
                }
+               g_free (subject);
+               g_free (to);
+               g_free (from);
+               g_free (cc);
+               g_free (bcc);
        }
 
        gtk_widget_show_all (GTK_WIDGET (self));
        }
 
        gtk_widget_show_all (GTK_WIDGET (self));