Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jberkman
evolution-exchange-2.6
fix-public-folder-ee.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fix-public-folder-ee.diff of Package evolution-exchange-2.6
=================================================================== RCS file: /cvs/gnome/evolution-exchange/mail/mail-stub-exchange.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- mail-stub-exchange.c 2006/05/10 09:13:41 1.39 +++ mail/mail-stub-exchange.c 2006/12/18 16:38:57 1.40 @@ -2286,32 +2286,70 @@ int unread_count, i, toplen = top ? strlen (top) : 0; guint32 folder_flags; gboolean recursive, subscribed, single_folder = FALSE; + int mode = -1; + char *full_path; recursive = (store_flags & CAMEL_STUB_STORE_FOLDER_INFO_RECURSIVE); subscribed = (store_flags & CAMEL_STUB_STORE_FOLDER_INFO_SUBSCRIBED); - exchange_account_rescan_tree (mse->account); + /* exchange_account_rescan_tree (mse->account); */ + exchange_account_is_offline (mse->account, &mode); if (!subscribed) { - exchange_account_open_folder (mse->account, "/public"); + ExchangeAccountResult result = -1; + d(g_print ("%s(%d):%s: NOT SUBSCRIBED top = [%s]\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, top)); + if (!toplen) + result = exchange_account_open_folder (mse->account, "/public"); + if (result == EXCHANGE_ACCOUNT_FOLDER_DOES_NOT_EXIST) { + hier = exchange_account_get_hierarchy (mse->account, EXCHANGE_HIERARCHY_PUBLIC); + if (hier) + exchange_hierarchy_scan_subtree (hier, hier->toplevel, mode); + } else + d(g_print ("%s(%d):%s: NOT SUBSCRIBED - open_folder returned = [%d]\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, result)); } if (!recursive && toplen) { - char *full_path; - + d(g_print ("%s(%d):%s: NOT RECURSIVE and toplen top = [%s]\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, top)); full_path = g_strdup_printf ("/%s", top); folder = exchange_account_get_folder (mse->account, full_path); - g_free (full_path); if (folder) { + folders = exchange_account_get_folder_tree (mse->account, full_path); + + /* folders = exchange_account_get_folders_for_path (mse->account, full_path); */ + /* type = e_folder_get_type_string (folder); if ((!strcmp (type, "mail")) || (!strcmp (type, "mail/public"))) { + d(g_print ("%s(%d):%s: Setting single_folder = TRUE\n", __FILE__, __LINE__, __PRETTY_FUNCTION__)); folders = g_ptr_array_new (); g_ptr_array_add (folders, folder); single_folder = TRUE; } + */ + } else { + d(g_print ("%s(%d):%s folder [%s] not found!! \n", __FILE__, __LINE__, + __PRETTY_FUNCTION__, full_path)); } + g_free (full_path); } else { + /* + if (toplen) { + char *full_path; + + full_path = g_strdup_printf ("/%s", top); + folder = exchange_account_get_folder (mse->account, full_path); + g_free (full_path); + + if (folder) { + d(g_print ("%s(%d):%s top = [%s] *********************** \n", __FILE__, __LINE__, + __PRETTY_FUNCTION__, top)); + hier = e_folder_exchange_get_hierarchy (folder); + exchange_hierarchy_scan_subtree (hier, folder, mode); + } + } + */ + d(g_print ("%s(%d):%s calling exchange_account_get_folders \n", __FILE__, __LINE__, + __PRETTY_FUNCTION__)); folders = exchange_account_get_folders (mse->account); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor