[evolution/kill-bonobo: 37/43] Fix most of the compiler warnings in mail.



commit 03fe4bdcbc8a2e644339bbfcd12843da1f766375
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu May 7 21:12:02 2009 -0400

    Fix most of the compiler warnings in mail.
---
 mail/e-mail-reader-utils.c       |    5 ++++-
 mail/e-mail-reader.c             |   10 +++++++---
 mail/e-mail-shell-migrate.c      |   13 +++++++------
 mail/e-mail-shell-sidebar.c      |    9 +++++++--
 mail/e-mail-shell-view-actions.c |   20 +++++++++-----------
 mail/e-mail-shell-view-private.c |   16 ++++++++++++----
 mail/e-mail-shell-view-private.h |    1 +
 mail/em-composer-utils.c         |    4 ++--
 mail/em-folder-properties.c      |    4 +++-
 mail/em-folder-tree-model.c      |   12 +++++++-----
 mail/em-utils.c                  |   19 +++++++++++++++----
 mail/importers/mail-importer.c   |    4 +++-
 mail/mail-session.c              |    4 +++-
 13 files changed, 80 insertions(+), 41 deletions(-)

diff --git a/mail/e-mail-reader-utils.c b/mail/e-mail-reader-utils.c
index 3e069ba..96fe1ba 100644
--- a/mail/e-mail-reader-utils.c
+++ b/mail/e-mail-reader-utils.c
@@ -189,6 +189,7 @@ e_mail_reader_mark_selected (EMailReader *reader,
 guint
 e_mail_reader_open_selected (EMailReader *reader)
 {
+	EMailShellBackend *mail_shell_backend;
 	EShellBackend *shell_backend;
 	MessageList *message_list;
 	CamelFolder *folder;
@@ -204,6 +205,8 @@ e_mail_reader_open_selected (EMailReader *reader)
 	shell_backend = e_mail_reader_get_shell_backend (reader);
 	window = e_mail_reader_get_window (reader);
 
+	mail_shell_backend = E_MAIL_SHELL_BACKEND (shell_backend);
+
 	folder = message_list->folder;
 	folder_uri = message_list->folder_uri;
 	uids = message_list_get_selected (message_list);
@@ -276,7 +279,7 @@ e_mail_reader_open_selected (EMailReader *reader)
 		const gchar *uid = views->pdata[ii];
 		GtkWidget *browser;
 
-		browser = e_mail_browser_new (shell_backend);
+		browser = e_mail_browser_new (mail_shell_backend);
 		e_mail_reader_set_folder (
 			E_MAIL_READER (browser), folder, folder_uri);
 		e_mail_reader_set_message (
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index c65feaa..7b50774 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -157,7 +157,8 @@ action_mail_copy_cb (GtkAction *action,
 
 	message_list = e_mail_reader_get_message_list (reader);
 	shell_backend = e_mail_reader_get_shell_backend (reader);
-	model = e_mail_shell_backend_get_folder_tree_model (shell_backend);
+	model = e_mail_shell_backend_get_folder_tree_model (
+		E_MAIL_SHELL_BACKEND (shell_backend));
 
 	folder_tree = em_folder_tree_new_with_model (model);
 	selected = message_list_get_selected (message_list);
@@ -577,7 +578,8 @@ action_mail_move_cb (GtkAction *action,
 
 	message_list = e_mail_reader_get_message_list (reader);
 	shell_backend = e_mail_reader_get_shell_backend (reader);
-	model = e_mail_shell_backend_get_folder_tree_model (shell_backend);
+	model = e_mail_shell_backend_get_folder_tree_model (
+		E_MAIL_SHELL_BACKEND (shell_backend));
 
 	folder_tree = em_folder_tree_new_with_model (model);
 	selected = message_list_get_selected (message_list);
@@ -900,6 +902,7 @@ action_mail_show_source_cb (GtkAction *action,
                             EMailReader *reader)
 {
 	EMFormatHTMLDisplay *html_display;
+	EMailShellBackend *mail_shell_backend;
 	EShellBackend *shell_backend;
 	MessageList *message_list;
 	CamelFolder *folder;
@@ -909,13 +912,14 @@ action_mail_show_source_cb (GtkAction *action,
 
 	message_list = e_mail_reader_get_message_list (reader);
 	shell_backend = e_mail_reader_get_shell_backend (reader);
+	mail_shell_backend = E_MAIL_SHELL_BACKEND (shell_backend);
 
 	folder = message_list->folder;
 	folder_uri = message_list->folder_uri;
 	uids = message_list_get_selected (message_list);
 	g_return_if_fail (uids->len > 0);
 
-	browser = e_mail_browser_new (shell_backend);
+	browser = e_mail_browser_new (mail_shell_backend);
 	reader = E_MAIL_READER (browser);
 	html_display = e_mail_reader_get_html_display (reader);
 	em_format_set_mode (EM_FORMAT (html_display), EM_FORMAT_SOURCE);
diff --git a/mail/e-mail-shell-migrate.c b/mail/e-mail-shell-migrate.c
index 99469b1..b7af75b 100644
--- a/mail/e-mail-shell-migrate.c
+++ b/mail/e-mail-shell-migrate.c
@@ -2853,7 +2853,8 @@ migrate_to_db (EShellBackend *shell_backend)
 
 			camel_exception_init (&ex);
 			e_mail_shell_backend_load_store_by_uri (
-				shell_backend, service->url, name);
+				E_MAIL_SHELL_BACKEND (shell_backend),
+				service->url, name);
 
 			store = (CamelStore *) camel_session_get_service (CAMEL_SESSION (session), service->url, CAMEL_PROVIDER_STORE, &ex);
 			info = camel_store_get_folder_info (store, NULL, CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST|CAMEL_STORE_FOLDER_INFO_SUBSCRIBED, &ex);
@@ -2879,11 +2880,11 @@ migrate_to_db (EShellBackend *shell_backend)
 }
 
 gboolean
-e_mail_shell_backend_migrate (EShellBackend *shell_backend,
-                              gint major,
-                              gint minor,
-                              gint micro,
-                              GError **error)
+e_mail_shell_migrate (EShellBackend *shell_backend,
+                      gint major,
+                      gint minor,
+                      gint micro,
+                      GError **error)
 {
 	struct stat st;
 	const gchar *data_dir;
diff --git a/mail/e-mail-shell-sidebar.c b/mail/e-mail-shell-sidebar.c
index e71fe4d..d8d591e 100644
--- a/mail/e-mail-shell-sidebar.c
+++ b/mail/e-mail-shell-sidebar.c
@@ -128,6 +128,7 @@ static void
 mail_shell_sidebar_constructed (GObject *object)
 {
 	EMailShellSidebarPrivate *priv;
+	EMailShellBackend *mail_shell_backend;
 	EShellSidebar *shell_sidebar;
 	EShellBackend *shell_backend;
 	EShellView *shell_view;
@@ -144,6 +145,7 @@ mail_shell_sidebar_constructed (GObject *object)
 	shell_sidebar = E_SHELL_SIDEBAR (object);
 	shell_view = e_shell_sidebar_get_shell_view (shell_sidebar);
 	shell_backend = e_shell_view_get_shell_backend (shell_view);
+	mail_shell_backend = E_MAIL_SHELL_BACKEND (mail_shell_backend);
 
 	/* Build sidebar widgets. */
 
@@ -160,7 +162,7 @@ mail_shell_sidebar_constructed (GObject *object)
 
 	container = widget;
 
-	widget = em_folder_tree_new (shell_backend);
+	widget = em_folder_tree_new (mail_shell_backend);
 	em_folder_tree_set_excluded (EM_FOLDER_TREE (widget), 0);
 	em_folder_tree_enable_drag_and_drop (EM_FOLDER_TREE (widget));
 	gtk_container_add (GTK_CONTAINER (container), widget);
@@ -179,6 +181,7 @@ mail_shell_sidebar_constructed (GObject *object)
 static guint32
 mail_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
 {
+	EMailShellBackend *mail_shell_backend;
 	EMailShellSidebar *mail_shell_sidebar;
 	EShellBackend *shell_backend;
 	EShellView *shell_view;
@@ -203,7 +206,9 @@ mail_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
 
 	shell_view = e_shell_sidebar_get_shell_view (shell_sidebar);
 	shell_backend = e_shell_view_get_shell_backend (shell_view);
-	local_store = e_mail_shell_backend_get_local_store (shell_backend);
+
+	mail_shell_backend = E_MAIL_SHELL_BACKEND (shell_backend);
+	local_store = e_mail_shell_backend_get_local_store (mail_shell_backend);
 
 	mail_shell_sidebar = E_MAIL_SHELL_SIDEBAR (shell_sidebar);
 	folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar);
diff --git a/mail/e-mail-shell-view-actions.c b/mail/e-mail-shell-view-actions.c
index 2491e41..33d497c 100644
--- a/mail/e-mail-shell-view-actions.c
+++ b/mail/e-mail-shell-view-actions.c
@@ -45,18 +45,16 @@ static void
 action_mail_account_disable_cb (GtkAction *action,
                                 EMailShellView *mail_shell_view)
 {
+	EMailShellBackend *mail_shell_backend;
 	EMailShellSidebar *mail_shell_sidebar;
-	EShellBackend *shell_backend;
-	EShellView *shell_view;
 	EMFolderTree *folder_tree;
 	EAccountList *account_list;
 	EAccount *account;
 	gchar *folder_uri;
 
-	shell_view = E_SHELL_VIEW (mail_shell_view);
-	shell_backend = e_shell_view_get_shell_backend (shell_view);
-
+	mail_shell_backend = mail_shell_view->priv->mail_shell_backend;
 	mail_shell_sidebar = mail_shell_view->priv->mail_shell_sidebar;
+
 	folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar);
 	folder_uri = em_folder_tree_get_selected_uri (folder_tree);
 	g_return_if_fail (folder_uri != NULL);
@@ -70,7 +68,8 @@ action_mail_account_disable_cb (GtkAction *action,
 
 	account->enabled = !account->enabled;
 	e_account_list_change (account_list, account);
-	e_mail_shell_backend_remove_store_by_uri (shell_backend, folder_uri);
+	e_mail_shell_backend_remove_store_by_uri (
+		mail_shell_backend, folder_uri);
 
 	if (account->parent_uid != NULL)
 		e_account_list_remove (account_list, account);
@@ -100,14 +99,13 @@ static void
 action_mail_download_cb (GtkAction *action,
                          EMailShellView *mail_shell_view)
 {
-	EShellView *shell_view;
-	EShellBackend *shell_backend;
+	EMailShellBackend *mail_shell_backend;
 
-	shell_view = E_SHELL_VIEW (mail_shell_view);
-	shell_backend = e_shell_view_get_shell_backend (shell_view);
+	mail_shell_backend = mail_shell_view->priv->mail_shell_backend;
 
 	e_mail_shell_backend_stores_foreach (
-		shell_backend, (GHFunc) action_mail_download_foreach_cb, NULL);
+		mail_shell_backend, (GHFunc)
+		action_mail_download_foreach_cb, NULL);
 }
 
 static void
diff --git a/mail/e-mail-shell-view-private.c b/mail/e-mail-shell-view-private.c
index e31292e..615001e 100644
--- a/mail/e-mail-shell-view-private.c
+++ b/mail/e-mail-shell-view-private.c
@@ -212,6 +212,7 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
 	EMailShellSidebar *mail_shell_sidebar;
 	EShell *shell;
 	EShellView *shell_view;
+	EShellBackend *shell_backend;
 	EShellContent *shell_content;
 	EShellSettings *shell_settings;
 	EShellSidebar *shell_sidebar;
@@ -232,6 +233,7 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
 	gint ii = 0;
 
 	shell_view = E_SHELL_VIEW (mail_shell_view);
+	shell_backend = e_shell_view_get_shell_backend (shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
@@ -251,6 +253,7 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
 	priv->label_merge_id = merge_id;
 
 	/* Cache these to avoid lots of awkward casting. */
+	priv->mail_shell_backend = g_object_ref (shell_backend);
 	priv->mail_shell_content = g_object_ref (shell_content);
 	priv->mail_shell_sidebar = g_object_ref (shell_sidebar);
 
@@ -359,6 +362,7 @@ e_mail_shell_view_private_dispose (EMailShellView *mail_shell_view)
 	EMailShellViewPrivate *priv = mail_shell_view->priv;
 	gint ii;
 
+	DISPOSE (priv->mail_shell_backend);
 	DISPOSE (priv->mail_shell_content);
 	DISPOSE (priv->mail_shell_sidebar);
 
@@ -742,8 +746,9 @@ e_mail_shell_view_create_vfolder_from_selected (EMailShellView *mail_shell_view,
 void
 e_mail_shell_view_update_sidebar (EMailShellView *mail_shell_view)
 {
+	EMailShellBackend *mail_shell_backend;
+	EMailShellContent *mail_shell_content;
 	EShellSidebar *shell_sidebar;
-	EShellBackend *shell_backend;
 	EShellView *shell_view;
 	EMailReader *reader;
 	MessageList *message_list;
@@ -763,16 +768,19 @@ e_mail_shell_view_update_sidebar (EMailShellView *mail_shell_view)
 
 	g_return_if_fail (E_IS_MAIL_SHELL_VIEW (mail_shell_view));
 
+	mail_shell_backend = mail_shell_view->priv->mail_shell_backend;
+	mail_shell_content = mail_shell_view->priv->mail_shell_content;
+
 	shell_view = E_SHELL_VIEW (mail_shell_view);
-	shell_backend = e_shell_view_get_shell_backend (shell_view);
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
-	local_store = e_mail_shell_backend_get_local_store (shell_backend);
 
-	reader = E_MAIL_READER (mail_shell_view->priv->mail_shell_content);
+	reader = E_MAIL_READER (mail_shell_content);
 	message_list = e_mail_reader_get_message_list (reader);
 	folder_uri = message_list->folder_uri;
 	folder = message_list->folder;
 
+	local_store = e_mail_shell_backend_get_local_store (mail_shell_backend);
+
 	/* If no folder is selected, reset the sidebar banners
 	 * to their default values and stop. */
 	if (folder == NULL) {
diff --git a/mail/e-mail-shell-view-private.h b/mail/e-mail-shell-view-private.h
index 6034dbc..1d61f8d 100644
--- a/mail/e-mail-shell-view-private.h
+++ b/mail/e-mail-shell-view-private.h
@@ -122,6 +122,7 @@ struct _EMailShellViewPrivate {
 	/*** Other Stuff ***/
 
 	/* These are just for convenience. */
+	EMailShellBackend *mail_shell_backend;
 	EMailShellContent *mail_shell_content;
 	EMailShellSidebar *mail_shell_sidebar;
 
diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
index 66863fa..b522ca1 100644
--- a/mail/em-composer-utils.c
+++ b/mail/em-composer-utils.c
@@ -2538,14 +2538,14 @@ em_utils_post_reply_to_message_by_uid (CamelFolder *folder, const char *uid)
 
 static void
 post_header_clicked_cb (EComposerPostHeader *header,
-                        EShellBackend *shell_backend)
+                        EMailShellBackend *mail_shell_backend)
 {
 	EMFolderTreeModel *model;
 	GtkWidget *folder_tree;
 	GtkWidget *dialog;
 	GList *list;
 
-	model = e_mail_shell_backend_get_folder_tree_model (shell_backend);
+	model = e_mail_shell_backend_get_folder_tree_model (mail_shell_backend);
 	folder_tree = em_folder_tree_new_with_model (model);
 
 	em_folder_tree_set_multiselect (
diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c
index e346aa3..c8b56b2 100644
--- a/mail/em-folder-properties.c
+++ b/mail/em-folder-properties.c
@@ -317,7 +317,9 @@ emfp_dialog_got_folder_quota (CamelFolder *folder,
 	shell_view = E_SHELL_VIEW (data);
 	shell_backend = e_shell_view_get_shell_backend (shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	local_store = e_mail_shell_backend_get_local_store (shell_backend);
+
+	local_store = e_mail_shell_backend_get_local_store (
+		E_MAIL_SHELL_BACKEND (shell_backend));
 
 	prop_data = g_malloc0 (sizeof (*prop_data));
 	prop_data->object = folder;
diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c
index 289df10..abdd3c8 100644
--- a/mail/em-folder-tree-model.c
+++ b/mail/em-folder-tree-model.c
@@ -496,8 +496,8 @@ em_folder_tree_model_new (EMailShellBackend *mail_shell_backend)
 		"shell-backend", mail_shell_backend, NULL);
 }
 
-EShellBackend *
-em_folder_tree_model_get_shell_backend (EMFolderTreeModel *model)
+EMailShellBackend *
+em_folder_tree_model_get_mail_shell_backend (EMFolderTreeModel *model)
 {
 	g_return_val_if_fail (EM_IS_FOLDER_TREE_MODEL (model), NULL);
 
@@ -560,6 +560,7 @@ em_folder_tree_model_set_folder_info (EMFolderTreeModel *model, GtkTreeIter *ite
 				      CamelFolderInfo *fi, int fully_loaded)
 {
 	EShellBackend *shell_backend;
+	EMailShellBackend *mail_shell_backend;
 	GtkTreeRowReference *uri_row, *path_row;
 	GtkTreeStore *tree_store;
 	unsigned int unread;
@@ -578,6 +579,7 @@ em_folder_tree_model_set_folder_info (EMFolderTreeModel *model, GtkTreeIter *ite
 
 	tree_store = GTK_TREE_STORE (model);
 	shell_backend = model->priv->shell_backend;
+	mail_shell_backend = E_MAIL_SHELL_BACKEND (shell_backend);
 
 	if (!fully_loaded)
 		load = fi->child == NULL && !(fi->flags & (CAMEL_FOLDER_NOCHILDREN | CAMEL_FOLDER_NOINFERIORS));
@@ -599,9 +601,9 @@ em_folder_tree_model_set_folder_info (EMFolderTreeModel *model, GtkTreeIter *ite
 		CamelFolder *local_outbox;
 
 		local_drafts = e_mail_shell_backend_get_folder (
-			shell_backend, E_MAIL_FOLDER_DRAFTS);
+			mail_shell_backend, E_MAIL_FOLDER_DRAFTS);
 		local_outbox = e_mail_shell_backend_get_folder (
-			shell_backend, E_MAIL_FOLDER_OUTBOX);
+			mail_shell_backend, E_MAIL_FOLDER_OUTBOX);
 
 		if (folder == local_outbox) {
 			int total;
@@ -634,7 +636,7 @@ em_folder_tree_model_set_folder_info (EMFolderTreeModel *model, GtkTreeIter *ite
 	/* TODO: maybe this should be handled by mail_get_folderinfo (except em-folder-tree doesn't use it, duh) */
 	flags = fi->flags;
 	name = fi->name;
-	if (si->store == e_mail_shell_backend_get_local_store (shell_backend)) {
+	if (si->store == e_mail_shell_backend_get_local_store (mail_shell_backend)) {
 		if (!strcmp(fi->full_name, "Drafts")) {
 			name = _("Drafts");
 		} else if (!strcmp(fi->full_name, "Templates")) {
diff --git a/mail/em-utils.c b/mail/em-utils.c
index db7f99a..45f54ab 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -255,13 +255,16 @@ static GtkWidget *filter_editor = NULL;
 static void
 em_filter_editor_response (GtkWidget *dialog, int button, gpointer user_data)
 {
+	EShellBackend *shell_backend;
 	EMFilterContext *fc;
 
+	shell_backend = E_SHELL_BACKEND (global_mail_shell_backend);
+
 	if (button == GTK_RESPONSE_OK) {
 		const gchar *data_dir;
 		char *user;
 
-		data_dir = e_shell_backend_get_data_dir (global_mail_shell_backend);
+		data_dir = e_shell_backend_get_data_dir (shell_backend);
 		fc = g_object_get_data ((GObject *) dialog, "context");
 		user = g_strdup_printf ("%s/filters.xml", data_dir);
 		rule_context_save ((RuleContext *) fc, user);
@@ -290,6 +293,7 @@ static EMFilterSource em_filter_source_element_names[] = {
 void
 em_utils_edit_filters (GtkWidget *parent)
 {
+	EShellBackend *shell_backend;
 	const gchar *data_dir;
 	char *user, *system;
 	EMFilterContext *fc;
@@ -299,7 +303,8 @@ em_utils_edit_filters (GtkWidget *parent)
 		return;
 	}
 
-	data_dir = e_shell_backend_get_data_dir (global_mail_shell_backend);
+	shell_backend = E_SHELL_BACKEND (global_mail_shell_backend);
+	data_dir = e_shell_backend_get_data_dir (shell_backend);
 
 	fc = em_filter_context_new ();
 	user = g_build_filename (data_dir, "filters.xml", NULL);
@@ -2434,10 +2439,13 @@ em_utils_clear_get_password_canceled_accounts_flag (void)
 void
 em_utils_show_error_silent (GtkWidget *widget)
 {
+	EShellBackend *shell_backend;
 	EActivity *activity;
 
+	shell_backend = E_SHELL_BACKEND (global_mail_shell_backend);
+
 	activity = e_alert_activity_new_warning (widget);
-	e_shell_backend_add_activity (global_mail_shell_backend, activity);
+	e_shell_backend_add_activity (shell_backend, activity);
 	g_object_unref (activity);
 
 	if (g_object_get_data (G_OBJECT (widget), "response-handled") == NULL)
@@ -2449,10 +2457,13 @@ em_utils_show_error_silent (GtkWidget *widget)
 void
 em_utils_show_info_silent (GtkWidget *widget)
 {
+	EShellBackend *shell_backend;
 	EActivity *activity;
 
+	shell_backend = E_SHELL_BACKEND (global_mail_shell_backend);
+
 	activity = e_alert_activity_new_info (widget);
-	e_shell_backend_add_activity (global_mail_shell_backend, activity);
+	e_shell_backend_add_activity (shell_backend, activity);
 	g_object_unref (activity);
 
 	if (g_object_get_data (G_OBJECT (widget), "response-handled") == NULL)
diff --git a/mail/importers/mail-importer.c b/mail/importers/mail-importer.c
index dbae51d..ebf79e8 100644
--- a/mail/importers/mail-importer.c
+++ b/mail/importers/mail-importer.c
@@ -357,6 +357,7 @@ struct _import_folders_data {
 static void
 import_folders_rec(struct _import_folders_data *m, const char *filepath, const char *folderparent)
 {
+	EShellBackend *shell_backend;
 	GDir *dir;
 	const char *d;
 	struct stat st;
@@ -368,7 +369,8 @@ import_folders_rec(struct _import_folders_data *m, const char *filepath, const c
  	if (dir == NULL)
 		return;
 
-	data_dir = e_shell_backend_get_data_dir (global_mail_shell_backend);
+	shell_backend = E_SHELL_BACKEND (global_mail_shell_backend);
+	data_dir = e_shell_backend_get_data_dir (shell_backend);
 
 	utf8_filename = g_filename_to_utf8 (filepath, -1, NULL, NULL, NULL);
 	camel_operation_start(NULL, _("Scanning %s"), utf8_filename);
diff --git a/mail/mail-session.c b/mail/mail-session.c
index 5cb61e9..c236a14 100644
--- a/mail/mail-session.c
+++ b/mail/mail-session.c
@@ -503,6 +503,7 @@ session_system_beep (CamelFilterDriver *driver, gpointer user_data)
 static CamelFilterDriver *
 main_get_filter_driver (CamelSession *session, const char *type, CamelException *ex)
 {
+	EShellBackend *shell_backend;
 	CamelFilterDriver *driver;
 	FilterRule *rule = NULL;
 	const gchar *data_dir;
@@ -511,8 +512,9 @@ main_get_filter_driver (CamelSession *session, const char *type, CamelException
 	RuleContext *fc;
 
 	gconf = mail_config_get_gconf_client ();
+	shell_backend = E_SHELL_BACKEND (session_mail_shell_backend);
 
-	data_dir = e_shell_backend_get_data_dir (session_mail_shell_backend);
+	data_dir = e_shell_backend_get_data_dir (shell_backend);
 	user = g_build_filename (data_dir, "filters.xml", NULL);
 	system = g_build_filename (EVOLUTION_PRIVDATADIR, "filtertypes.xml", NULL);
 	fc = (RuleContext *) em_filter_context_new ();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]