X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-actions.c;h=f460812009617219cd31c0a8345879570833c926;hp=092650cb381fddace67d3d8f8eee197b17afbfe3;hb=f541209a85cb6c71c79da1df81afbe10c448690a;hpb=14c7495ffb5fb380d92a8c7eb3c34a115492db73 diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 092650c..f460812 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -902,13 +902,15 @@ open_msg_cb (ModestMailOperation *mail_op, account = g_strdup(modest_tny_account_get_parent_modest_account_name_for_server_account( TNY_ACCOUNT(traccount))); send_queue = modest_runtime_get_send_queue(traccount, TRUE); - msg_id = modest_tny_send_queue_get_msg_id (header); - status = modest_tny_send_queue_get_msg_status(send_queue, msg_id); - /* Only open messages in outbox with the editor if they are in Failed state */ - if (status == MODEST_TNY_SEND_QUEUE_FAILED) { - open_in_editor = TRUE; + if (TNY_IS_SEND_QUEUE (send_queue)) { + msg_id = modest_tny_send_queue_get_msg_id (header); + status = modest_tny_send_queue_get_msg_status(send_queue, msg_id); + /* Only open messages in outbox with the editor if they are in Failed state */ + if (status == MODEST_TNY_SEND_QUEUE_FAILED) { + open_in_editor = TRUE; + } + g_free(msg_id); } - g_free(msg_id); g_object_unref(traccount); } else { g_warning("Cannot get transport account for message in outbox!!"); @@ -4687,6 +4689,21 @@ modest_ui_actions_msgs_move_to_confirmation (ModestWindow *win, } static void +move_to_helper_destroyer (gpointer user_data) +{ + MoveToHelper *helper = (MoveToHelper *) user_data; + + /* Close the "Pasting" information banner */ + if (helper->banner) { + gtk_widget_destroy (GTK_WIDGET (helper->banner)); + g_object_unref (helper->banner); + } + if (helper->reference != NULL) + gtk_tree_row_reference_free (helper->reference); + g_free (helper); +} + +static void move_to_cb (ModestMailOperation *mail_op, gpointer user_data) { @@ -4724,15 +4741,8 @@ move_to_cb (ModestMailOperation *mail_op, } g_object_unref (object); } - - /* Close the "Pasting" information banner */ - if (helper->banner) { - gtk_widget_destroy (GTK_WIDGET(helper->banner)); - g_object_unref (helper->banner); - } - if (helper->reference != NULL) - gtk_tree_row_reference_free (helper->reference); - g_free (helper); + /* Destroy the helper */ + move_to_helper_destroyer (helper); } static void @@ -5019,7 +5029,7 @@ xfer_messages_error_handler (ModestMailOperation *mail_op, gpointer user_data) { ModestWindow *main_window = NULL; - + /* Disable next automatic folder selection */ main_window = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (), FALSE); /* don't create */ @@ -5031,6 +5041,7 @@ xfer_messages_error_handler (ModestMailOperation *mail_op, if (win) g_object_unref (win); } + move_to_helper_destroyer (user_data); } /** @@ -5111,7 +5122,7 @@ xfer_messages_performer (gboolean canceled, ModestMailOperation *mail_op = modest_mail_operation_new_with_error_handling (G_OBJECT(win), xfer_messages_error_handler, - NULL, NULL); + helper, NULL); modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);