From 94e43758de5e90ff3acf70654a53ddf787495f1b Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Wed, 16 Feb 2011 13:14:49 +0100 Subject: Bug #638333 - Critical warning when invoking File->New->Mail Folder --- modules/mail/e-mail-shell-backend.c | 15 +++++++++++++-- modules/mail/e-mail-shell-view-actions.c | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index c7bba4944a..601b8e0c25 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -108,24 +108,35 @@ action_mail_folder_new_cb (GtkAction *action, { EMFolderTree *folder_tree = NULL; EMailShellSidebar *mail_shell_sidebar; + EMailSession *mail_session; EShellSidebar *shell_sidebar; EShellView *shell_view; const gchar *view_name; /* Take care not to unnecessarily load the mail shell view. */ view_name = e_shell_window_get_active_view (shell_window); - if (g_strcmp0 (view_name, BACKEND_NAME) != 0) + if (g_strcmp0 (view_name, BACKEND_NAME) != 0) { + EShellBackend *mail_backend; + + mail_backend = e_shell_get_backend_by_name (e_shell_window_get_shell (shell_window), BACKEND_NAME); + g_return_if_fail (mail_backend != NULL); + + mail_session = e_mail_backend_get_session (E_MAIL_BACKEND (mail_backend)); + g_return_if_fail (mail_session != NULL); + goto exit; + } shell_view = e_shell_window_get_shell_view (shell_window, view_name); shell_sidebar = e_shell_view_get_shell_sidebar (shell_view); mail_shell_sidebar = E_MAIL_SHELL_SIDEBAR (shell_sidebar); folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar); + mail_session = em_folder_tree_get_session (folder_tree); exit: em_folder_utils_create_folder ( - NULL, folder_tree, GTK_WINDOW (shell_window)); + NULL, folder_tree, mail_session, GTK_WINDOW (shell_window)); } static void diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c index 1665b8e8ce..e0a445abdd 100644 --- a/modules/mail/e-mail-shell-view-actions.c +++ b/modules/mail/e-mail-shell-view-actions.c @@ -394,7 +394,7 @@ action_mail_folder_new_cb (GtkAction *action, g_return_if_fail (folder_info != NULL); em_folder_utils_create_folder ( - folder_info, folder_tree, GTK_WINDOW (shell_window)); + folder_info, folder_tree, em_folder_tree_get_session (folder_tree), GTK_WINDOW (shell_window)); camel_folder_info_free (folder_info); } -- cgit v1.2.3