aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/exchange-operations/exchange-folder-permission.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/exchange-operations/exchange-folder-permission.c')
-rw-r--r--plugins/exchange-operations/exchange-folder-permission.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/plugins/exchange-operations/exchange-folder-permission.c b/plugins/exchange-operations/exchange-folder-permission.c
index 3c930ff026..85703661d4 100644
--- a/plugins/exchange-operations/exchange-folder-permission.c
+++ b/plugins/exchange-operations/exchange-folder-permission.c
@@ -149,13 +149,18 @@ org_gnome_exchange_folder_permissions (EPlugin *ep, EMPopupTargetFolder *target)
GSList *menus = NULL;
int i = 0;
static int first =0;
+ gchar *path = NULL;
ExchangeAccount *account = exchange_operations_get_exchange_account ();
- if (!account || ! g_strrstr (target->uri, "exchange://") ||
- !exchange_account_get_folder (account, target->uri))
+ if (!account)
+ return;
+
+ path = target->uri + strlen ("exchange://") + strlen (account->account_filename);
+ if (! g_strrstr (target->uri, "exchange://") ||
+ !exchange_account_get_folder (account, path))
return ;
- selected_exchange_folder_uri = target->uri;
+ selected_exchange_folder_uri = path;
/* for translation*/
if (!first) {
popup_items[0].label = _(popup_items[0].label);
@@ -191,13 +196,15 @@ org_gnome_exchange_menu_folder_permissions (EPlugin *ep, EMMenuTargetSelect *tar
{
ExchangeAccount *account = NULL;
EFolder *folder = NULL;
+ gchar *path = NULL;
account = exchange_operations_get_exchange_account ();
if (!account)
return;
- folder = exchange_account_get_folder (account, target->uri);
+ path = target->uri + strlen ("exchange://") + strlen (account->account_filename);
+ folder = exchange_account_get_folder (account, path);
if (folder)
exchange_permissions_dialog_new (account, folder, NULL);
}