+2007-07-03 Murray Cumming <murrayc@murrayc.com>
+
+ (modest_tny_account_store_get_tny_account_by): Do not allow accounts to
+ be found by their display name. This is never useful.
+ * src/modest-tny-account-store.c: (on_account_removed): Find the account
+ by its ID, instead of trying to use its ID as its display name.
+
+ * src/modest-tny-account-store.h:
+ * src/modest-tny-account.c:
+ (modest_tny_account_get_special_folder): Add a g_warning() when
+ tny_folder_store_get_folders() returns an empty list for the maildir.
+
+ * src/modest-tny-send-queue.c: (modest_tny_send_queue_get_outbox):
+ Add a g_warning() when this returns NULL, because that it not allowed
+ by tinymail.
+
2007-07-02 Armin Burgmeier <armin@openismus.com>
* src/maemo/easysetup/modest-easysetup-wizard.c: Added a confirmation
/* Clear the account cache */
store_account = modest_tny_account_store_get_tny_account_by (self,
- MODEST_TNY_ACCOUNT_STORE_QUERY_NAME,
+ MODEST_TNY_ACCOUNT_STORE_QUERY_ID,
account);
if (store_account) {
tny_store_account_delete_cache (TNY_STORE_ACCOUNT (store_account));
case MODEST_TNY_ACCOUNT_STORE_QUERY_ID:
val = tny_account_get_id (TNY_ACCOUNT(cursor->data));
break;
- case MODEST_TNY_ACCOUNT_STORE_QUERY_NAME:
- val = modest_tny_account_get_parent_modest_account_name_for_server_account (TNY_ACCOUNT(cursor->data));
- break;
case MODEST_TNY_ACCOUNT_STORE_QUERY_URL:
val = tny_account_get_url_string (TNY_ACCOUNT(cursor->data));
break;
case MODEST_TNY_ACCOUNT_STORE_QUERY_ID:
val = tny_account_get_id (TNY_ACCOUNT(cursor->data));
break;
- case MODEST_TNY_ACCOUNT_STORE_QUERY_NAME:
- val = tny_account_get_name (TNY_ACCOUNT(cursor->data));
- break;
case MODEST_TNY_ACCOUNT_STORE_QUERY_URL:
val = tny_account_get_url_string (TNY_ACCOUNT(cursor->data));
break;
end:
if (account)
g_object_ref (G_OBJECT(account));
+ else {
+ /* Warn if nothing was found. This is generally unusual. */
+ switch (type) {
+ case MODEST_TNY_ACCOUNT_STORE_QUERY_ID:
+ g_warning("%s: Failed to find account with ID=%s\n", __FUNCTION__, str);
+ break;
+ case MODEST_TNY_ACCOUNT_STORE_QUERY_URL:
+ g_warning("%s: Failed to find account with URL=%s\n", __FUNCTION__, str);
+ break;
+ }
+ }
return account;
}
typedef enum {
MODEST_TNY_ACCOUNT_STORE_QUERY_ID,
- MODEST_TNY_ACCOUNT_STORE_QUERY_NAME,
MODEST_TNY_ACCOUNT_STORE_QUERY_URL,
} ModestTnyAccountStoreQueryType;
local_account = modest_tny_account_store_get_tny_account_by (modest_runtime_get_account_store(),
MODEST_TNY_ACCOUNT_STORE_QUERY_ID,
account_id);
+ if (!local_account) {
+ g_printerr ("modest: %s: modest_tny_account_store_get_tny_account_by(ID) returned NULL for %s\n", __FUNCTION__, account_id);
+ return NULL;
+ }
+
g_free (account_id);
} else {
/* Other local folders are all in one on-disk directory: */
/* There is no need to do this _async, as these are local folders. */
/* TODO: However, this seems to fail sometimes when the network is busy,
- * returning an empty list. murrayc. */
+ * returning an empty list. murrayc. */
tny_folder_store_get_folders (TNY_FOLDER_STORE (local_account),
folders, NULL, NULL);
+
+ if (tny_list_get_length (folders) == 0) {
+ gchar* url_string = tny_account_get_url_string (local_account);
+ g_printerr ("modest: %s: tny_folder_store_get_folders() returned an empty list for account with URL '%s'\n",
+ __FUNCTION__, url_string);
+ g_free (url_string);
+ }
+
iter = tny_list_create_iterator (folders);
while (!tny_iterator_is_done (iter)) {
g_object_unref (G_OBJECT (iter));
g_object_unref (G_OBJECT (local_account));
+ /*
+ if (!special_folder) {
+ g_warning ("%s: Returning NULL.", __FUNCTION__);
+ }
+ */
+
return special_folder;
}
}
folder = modest_tny_account_get_special_folder (TNY_ACCOUNT(account),
TNY_FOLDER_TYPE_OUTBOX);
+
+ /* This vfunc's tinymail contract does not allow it to return NULL. */
+ if (!folder) {
+ g_warning("%s: Returning NULL.\n", __FUNCTION__);
+ }
+
g_object_unref (G_OBJECT(account));
return folder;