From 64b4f6bd9273e913783a0da131e5e6b4afcd19c2 Mon Sep 17 00:00:00 2001 From: Felipe Erias Morandeira Date: Tue, 11 Dec 2007 14:18:24 +0000 Subject: [PATCH] Add checks for some callbacks that are used with connect_and_perform: on_rename_folder_cb, on_delete_folder_cb, xfer_messages_from_move_to_cb and on_move_folder_cb. pmo-trunk-r3898 --- src/modest-ui-actions.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 7aac814..362522b 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -2726,7 +2726,7 @@ on_rename_folder_cb (gboolean canceled, GError *err, GtkWindow *parent_window, GtkWidget *folder_view = NULL; RenameFolderInfo *data = (RenameFolderInfo*)user_data; - if (MODEST_IS_MAIN_WINDOW(parent_window)) { + if (!canceled && (err == NULL) && MODEST_IS_MAIN_WINDOW(parent_window)) { folder_view = modest_main_window_get_child_widget ( MODEST_MAIN_WINDOW (parent_window), @@ -2846,7 +2846,11 @@ on_delete_folder_cb (gboolean canceled, ModestMailOperation *mail_op; GtkTreeSelection *sel; - g_return_if_fail (MODEST_IS_MAIN_WINDOW(parent_window)); + if (!MODEST_IS_MAIN_WINDOW(parent_window) || canceled || (err!=NULL)) { + g_object_unref (G_OBJECT (info->folder)); + g_free (info); + } + folder_view = modest_main_window_get_child_widget ( MODEST_MAIN_WINDOW (parent_window), MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW); @@ -4388,6 +4392,11 @@ xfer_messages_from_move_to_cb (gboolean canceled, GError *err, const gchar *proto_str = NULL; gboolean dst_is_pop = FALSE; + if (canceled || err) { + g_object_unref (dst_folder); + return; + } + if (!TNY_IS_FOLDER (dst_folder)) { modest_platform_information_banner (GTK_WIDGET (win), NULL, @@ -4468,11 +4477,17 @@ static void on_move_folder_cb (gboolean canceled, GError *err, GtkWindow *parent_window, TnyAccount *account, gpointer user_data) { - g_return_if_fail (MODEST_IS_MAIN_WINDOW (parent_window)); - MoveFolderInfo *info = (MoveFolderInfo*)user_data; GtkTreeSelection *sel; ModestMailOperation *mail_op = NULL; + + if (canceled || err || !MODEST_IS_MAIN_WINDOW (parent_window)) { + g_object_unref (G_OBJECT (info->src_folder)); + g_object_unref (G_OBJECT (info->dst_folder)); + g_free (info); + return; + } + MoveToHelper *helper = g_new0 (MoveToHelper, 1); helper->banner = modest_platform_animation_banner (GTK_WIDGET (parent_window), NULL, _CS("ckct_nw_pasting")); -- 1.7.9.5