From: Sergio Villar Senin Date: Thu, 20 Dec 2007 16:21:17 +0000 (+0000) Subject: * Fixes NB#63571, connection dialog is offered if we try to create a folder in... X-Git-Tag: git_migration_finished~1890 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=58800f43b7bbdf5d7b8a62a91f3e115d2b27e0bf * Fixes NB#63571, connection dialog is offered if we try to create a folder in offline mode pmo-trunk-r3949 --- diff --git a/src/dbus_api/modest-dbus-callbacks.c b/src/dbus_api/modest-dbus-callbacks.c index b80d9c2..a30fdfa 100644 --- a/src/dbus_api/modest-dbus-callbacks.c +++ b/src/dbus_api/modest-dbus-callbacks.c @@ -398,8 +398,9 @@ on_open_message_performer (gboolean canceled, info = (OpenMsgPerformerInfo *) user_data; uri = info->uri; - if (err) + if (canceled || err) { goto frees; + } /* Get message */ folder = tny_store_account_find_folder (TNY_STORE_ACCOUNT (account), uri, NULL); diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index aae822b..ef183ec 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -1059,7 +1059,6 @@ open_msgs_performer(gboolean canceled, status = tny_account_get_connection_status (account); if (err || canceled) { - /* TODO: Show an error ? */ goto clean; } @@ -1698,7 +1697,6 @@ do_send_receive_performer (gboolean canceled, info = (SendReceiveInfo *) user_data; if (err || canceled) { - goto clean; } @@ -2655,6 +2653,25 @@ do_create_folder (GtkWindow *parent_window, } } +static void +create_folder_performer (gboolean canceled, + GError *err, + GtkWindow *parent_window, + TnyAccount *account, + gpointer user_data) +{ + TnyFolderStore *parent_folder = TNY_FOLDER_STORE (user_data); + + if (canceled || err) { + goto frees; + } + + /* Run the new folder dialog */ + do_create_folder (GTK_WINDOW (parent_window), parent_folder, NULL); + + frees: + g_object_unref (parent_folder); +} static void modest_ui_actions_create_folder(GtkWidget *parent_window, @@ -2665,11 +2682,11 @@ modest_ui_actions_create_folder(GtkWidget *parent_window, parent_folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view)); if (parent_folder) { - - /* Run the new folder dialog */ - do_create_folder (GTK_WINDOW (parent_window), parent_folder, NULL); - - g_object_unref (parent_folder); + /* The parent folder will be freed in the callback */ + modest_platform_connect_if_remote_and_perform (GTK_WINDOW (parent_window), + parent_folder, + create_folder_performer, + parent_folder); } } @@ -4849,7 +4866,6 @@ retrieve_msg_contents_performer (gboolean canceled, TnyList *headers = TNY_LIST (user_data); if (err || canceled) { - /* Show an error ? */ goto out; } diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index 07e1f81..08da13b 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -2177,9 +2177,9 @@ drag_and_drop_from_folder_view_dst_folder_performer (gboolean canceled, /* Connect to source folder and perform the copy/move */ modest_platform_connect_if_remote_and_perform (NULL, - info->src_folder, - drag_and_drop_from_folder_view_src_folder_performer, - info); + info->src_folder, + drag_and_drop_from_folder_view_src_folder_performer, + info); } /* @@ -2261,9 +2261,9 @@ drag_and_drop_from_folder_view (GtkTreeModel *source_model, /* Connect to the destination folder and perform the copy/move */ modest_platform_connect_if_remote_and_perform (GTK_WINDOW (win), - dest_folder, - drag_and_drop_from_folder_view_dst_folder_performer, - info); + dest_folder, + drag_and_drop_from_folder_view_dst_folder_performer, + info); /* Frees */ g_object_unref (dest_folder);