2007-07-23 Murray Cumming <murrayc@murrayc.com>
+ * src/dbus_api/modest-dbus-callbacks.c: (modest_dbus_req_handler),
+ (add_folders_to_list), (on_dbus_method_get_folders),
+ (modest_dbus_req_filter):
+ * src/maemo/modest-maemo-utils.c:
+ (on_camel_account_get_supported_secure_authentication):
+ * src/maemo/modest-main-window.c: (modest_main_window_set_style),
+ (on_header_view_focus_in):
+ * src/modest-email-clipboard.c: (modest_email_clipboard_set_data):
+ * src/modest-formatter.c: (modest_formatter_create_body_part):
+ * src/modest-mail-operation.c: (recurse_folders),
+ (update_account_thread), (get_msgs_full_thread),
+ (modest_mail_operation_get_msgs_full),
+ (modest_mail_operation_xfer_msgs):
+ * src/modest-search.c: (search_mime_part_and_child_parts),
+ (modest_search_account), (modest_search_all_accounts):
+ * src/modest-tny-account.c:
+ (modest_tny_account_get_special_folder), (recurse_folders):
+ * src/modest-tny-local-folders-account.c:
+ (modest_tny_local_folders_account_query_passes):
+ * src/modest-tny-msg.c: (copy_mime_part),
+ (modest_tny_msg_find_body_part_from_mime_part):
+ * src/modest-tny-send-queue.c: (modest_tny_send_queue_cancel),
+ (modest_tny_send_queue_try_to_send):
+ * src/modest-ui-actions.c: (modest_ui_actions_on_delete_message),
+ (_modest_ui_actions_open), (download_uncached_messages),
+ (reply_forward), (modest_ui_actions_on_copy),
+ (modest_ui_actions_on_details), (has_retrieved_msgs),
+ (msgs_move_to_confirmation), (open_msg_for_purge_cb),
+ (do_headers_action):
+ * src/modest-ui-dimming-rules.c: (_already_opened_msg),
+ (_selected_msg_marked_as), (_msg_download_completed),
+ (_selected_msg_sent_in_progress):
+ * src/widgets/modest-attachments-view.c:
+ (modest_attachments_view_set_message):
+ * src/widgets/modest-msg-view.c: (find_cid_image):
+ * tests/check_folder-transfer.c: (find_folders):
+ * tests/check_update-account.c: (func):
+ * tests/dbus_api/test_get_folders.c: (main):
+ Checked all uses of tny_iterator_get_current(), making sure
+ that the object is unreferenced (3 or 4 places did not),
+ and adding checks for NULL.
+
+2007-07-23 Murray Cumming <murrayc@murrayc.com>
+
* src/dbus_api/modest-dbus-callbacks.c:
(on_idle_open_default_inbox): Make sure that the application UI is
visible.
return on_top_application (arguments, data, retval);
}
else {
- g_debug (" debug: %s: Unexpected D-Bus method: %s\n", __FUNCTION__, method);
-
/* We need to return INVALID here so
* libosso will return DBUS_HANDLER_RESULT_NOT_YET_HANDLED,
* so that our modest_dbus_req_filter will then be tried instead.
* be generally unsuitable for Modest.
*/
TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (iter));
- add_single_folder_to_list (TNY_FOLDER (folder), list);
-
- #if 0
- if (TNY_IS_FOLDER_STORE (folder))
- add_folders_to_list (TNY_FOLDER_STORE (folder), list);
- else {
+ if (folder) {
add_single_folder_to_list (TNY_FOLDER (folder), list);
+
+ #if 0
+ if (TNY_IS_FOLDER_STORE (folder))
+ add_folders_to_list (TNY_FOLDER_STORE (folder), list);
+ else {
+ add_single_folder_to_list (TNY_FOLDER (folder), list);
+ }
+ #endif
+
+ /* tny_iterator_get_current() gave us a reference. */
+ g_object_unref (folder);
}
- #endif
tny_iterator_next (iter);
}
GList *folder_names = NULL;
add_folders_to_list (TNY_FOLDER_STORE (account), &folder_names);
+ printf("DEBUGa0: %s\n", __FUNCTION__);
+
g_object_unref (account);
account = NULL;
+ printf("DEBUGa1: %s\n", __FUNCTION__);
/* Also add the folders from the local folders account,
* because they are (currently) used with all accounts:
g_object_unref (account_local);
account_local = NULL;
+ printf("DEBUGa2: %s\n", __FUNCTION__);
+
/* Put the result in a DBus reply: */
reply = dbus_message_new_method_return (message);
get_folders_result_to_message (reply, folder_names);
+ printf("DEBUGa3: %s\n", __FUNCTION__);
+
+
if (reply == NULL) {
g_warning ("%s: Could not create reply.", __FUNCTION__);
}
g_list_foreach (folder_names, (GFunc)g_free, NULL);
g_list_free (folder_names);
+
+ printf("DEBUGa4: %s\n", __FUNCTION__);
}
DBusMessage *message,
void *user_data)
{
+ printf ("DEBUG: %s\n", __FUNCTION__);
gboolean handled = FALSE;
if (dbus_message_is_method_call (message,
MODEST_DBUS_IFACE,
MODEST_DBUS_METHOD_SEARCH)) {
+ printf (" DEBUG1: %s\n", __FUNCTION__);
on_dbus_method_search (con, message);
handled = TRUE;
} else if (dbus_message_is_method_call (message,
MODEST_DBUS_IFACE,
MODEST_DBUS_METHOD_GET_FOLDERS)) {
+ printf (" DEBUG2: %s\n", __FUNCTION__);
on_dbus_method_get_folders (con, message);
handled = TRUE;
}
+ else {
+ g_debug (" debug: %s: Unexpected D-Bus method\n", __FUNCTION__);
+ }
return (handled ?
DBUS_HANDLER_RESULT_HANDLED :
GList *result = NULL;
TnyIterator* iter = tny_list_create_iterator(auth_types);
while (!tny_iterator_is_done(iter)) {
- const gchar *auth_name = tny_pair_get_name(TNY_PAIR(tny_iterator_get_current(iter)));
+ TnyPair *pair = TNY_PAIR(tny_iterator_get_current(iter));
+ const gchar *auth_name = NULL;
+ if (pair) {
+ auth_name = tny_pair_get_name(pair);
+ g_object_unref (pair);
+ pair = NULL;
+ }
+
printf("DEBUG: %s: auth_name=%s\n", __FUNCTION__, auth_name);
ModestPair *matching = modest_pair_list_find_by_first_as_string (pairs,
auth_name);
gtk_window_set_title (GTK_WINDOW(self), tny_header_get_subject (header));
else
gtk_window_set_title (GTK_WINDOW (self), _("mail_va_no_subject"));
- g_object_unref (header);
+
+ if (header)
+ g_object_unref (header);
+
g_object_unref (iterator);
g_object_unref (selection);
}
else
gtk_window_set_title (GTK_WINDOW (main_window), _("mail_va_no_subject"));
- g_object_unref (header);
+ if (header)
+ g_object_unref (header);
+
g_object_unref (iterator);
g_object_unref (selection);
}
i = 0;
while (!tny_iterator_is_done (iter)) {
obj = tny_iterator_get_current (iter);
- if (TNY_IS_HEADER (obj))
+ if (obj && TNY_IS_HEADER (obj))
id = g_strdup(tny_header_get_message_id (TNY_HEADER (obj)));
priv->hidding[i++] = id;
tny_iterator_next (iter);
- g_object_unref (obj);
+ if (obj)
+ g_object_unref (obj);
}
g_object_unref (iter);
}
iter = tny_list_create_iterator (parts);
while (!tny_iterator_is_done (iter)) {
TnyMimePart *part = TNY_MIME_PART (tny_iterator_get_current (iter));
- if (!g_strcasecmp(tny_mime_part_get_content_type (part), "multipart/alternative")) {
+ if (part && !g_strcasecmp(tny_mime_part_get_content_type (part), "multipart/alternative")) {
alternative_part = part;
break;
}
- g_object_unref (part);
+
+ if (part)
+ g_object_unref (part);
+
tny_iterator_next (iter);
}
result = tny_platform_factory_new_mime_part (fact);
while (!tny_iterator_is_done (iter)) {
TnyFolderStore *folder = (TnyFolderStore*) tny_iterator_get_current (iter);
-
- tny_list_prepend (all_folders, G_OBJECT (folder));
- recurse_folders (folder, query, all_folders);
- g_object_unref (G_OBJECT (folder));
+ if (folder) {
+ tny_list_prepend (all_folders, G_OBJECT (folder));
+ recurse_folders (folder, query, all_folders);
+ g_object_unref (G_OBJECT (folder));
+ }
tny_iterator_next (iter);
}
iter = tny_list_create_iterator (all_folders);
while (!tny_iterator_is_done (iter)) {
TnyFolderStore *folder = TNY_FOLDER_STORE (tny_iterator_get_current (iter));
-
- recurse_folders (folder, query, all_folders);
+ if (folder) {
+ recurse_folders (folder, query, all_folders);
+ g_object_unref (folder);
+ }
tny_iterator_next (iter);
}
g_object_unref (G_OBJECT (iter));
g_object_unref (observer);
observer = NULL;
- g_object_unref (G_OBJECT (folder));
+ if (folder)
+ g_object_unref (G_OBJECT (folder));
+
if (priv->error)
priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
MODEST_MAIL_OPERATION_ERROR_ITEM_NOT_FOUND,
"Error trying to get a message. No folder found for header");
}
- g_object_unref (header);
+
+ if (header)
+ g_object_unref (header);
+
tny_iterator_next (iter);
}
if (tny_list_get_length (header_list) >= 1) {
iter = tny_list_create_iterator (header_list);
header = TNY_HEADER (tny_iterator_get_current (iter));
- folder = tny_header_get_folder (header);
- priv->account = modest_tny_folder_get_account (TNY_FOLDER(folder));
- g_object_unref (header);
- g_object_unref (folder);
+ if (header) {
+ folder = tny_header_get_folder (header);
+ if (folder) {
+ priv->account = modest_tny_folder_get_account (TNY_FOLDER(folder));
+
+ g_object_unref (folder);
+ }
+
+ g_object_unref (header);
+ }
if (tny_list_get_length (header_list) == 1) {
g_object_unref (iter);
if (iter != NULL) {
while (!tny_iterator_is_done (iter) && size_ok) {
header = TNY_HEADER (tny_iterator_get_current (iter));
- if (tny_header_get_message_size (header) >= max_size)
- size_ok = FALSE;
- g_object_unref (header);
+ if (header) {
+ if (tny_header_get_message_size (header) >= max_size)
+ size_ok = FALSE;
+ g_object_unref (header);
+ }
+
tny_iterator_next (iter);
}
g_object_unref (iter);
XferMsgsAsynUserCallback user_callback,
gpointer user_data)
{
- ModestMailOperationPrivate *priv;
- TnyIterator *iter;
- TnyFolder *src_folder;
- XFerMsgAsyncHelper *helper;
- TnyHeader *header;
- ModestTnyFolderRules rules;
+ ModestMailOperationPrivate *priv = NULL;
+ TnyIterator *iter = NULL;
+ TnyFolder *src_folder = NULL;
+ XFerMsgAsyncHelper *helper = NULL;
+ TnyHeader *header = NULL;
+ ModestTnyFolderRules rules = 0;
const gchar *id1 = NULL;
const gchar *id2 = NULL;
gboolean same_folder = FALSE;
/* Get source folder */
iter = tny_list_create_iterator (headers);
header = TNY_HEADER (tny_iterator_get_current (iter));
- src_folder = tny_header_get_folder (header);
- g_object_unref (header);
+ if (header) {
+ src_folder = tny_header_get_folder (header);
+ g_object_unref (header);
+ }
+
g_object_unref (iter);
/* Check folder source and destination */
TnyIterator *piter = tny_list_create_iterator (child_parts);
while (!found && !tny_iterator_is_done (piter)) {
TnyMimePart *pcur = (TnyMimePart *) tny_iterator_get_current (piter);
+ if (pcur) {
+ found = search_mime_part_and_child_parts (pcur, search);
- found = search_mime_part_and_child_parts (pcur, search);
+ g_object_unref (pcur);
+ }
- g_object_unref (pcur);
tny_iterator_next (piter);
}
iter = tny_list_create_iterator (folders);
while (!tny_iterator_is_done (iter)) {
- TnyFolder *folder;
- GList *res;
+ TnyFolder *folder = NULL;
+ GList *res = NULL;
folder = TNY_FOLDER (tny_iterator_get_current (iter));
- /* g_debug ("DEBUG: %s: searching folder %s.",
- __FUNCTION__, tny_folder_get_name (folder)); */
+ if (folder) {
+ /* g_debug ("DEBUG: %s: searching folder %s.",
+ __FUNCTION__, tny_folder_get_name (folder)); */
- res = modest_search_folder (folder, search);
+ res = modest_search_folder (folder, search);
- if (res != NULL) {
- if (hits == NULL) {
- hits = res;
- } else {
- hits = g_list_concat (hits, res);
+ if (res != NULL) {
+ if (hits == NULL) {
+ hits = res;
+ } else {
+ hits = g_list_concat (hits, res);
+ }
}
+
+ g_object_unref (folder);
}
- g_object_unref (folder);
tny_iterator_next (iter);
}
iter = tny_list_create_iterator (accounts);
while (!tny_iterator_is_done (iter)) {
- TnyAccount *account;
- GList *res;
+ TnyAccount *account = NULL;
+ GList *res = NULL;
account = TNY_ACCOUNT (tny_iterator_get_current (iter));
-
-
- /* g_debug ("DEBUG: %s: Searching account %s",
- __FUNCTION__, tny_account_get_name (account)); */
- res = modest_search_account (account, search);
+ if (account) {
+ /* g_debug ("DEBUG: %s: Searching account %s",
+ __FUNCTION__, tny_account_get_name (account)); */
+ res = modest_search_account (account, search);
- if (res != NULL) {
-
- if (hits == NULL) {
- hits = res;
- } else {
- hits = g_list_concat (hits, res);
+ if (res != NULL) {
+ if (hits == NULL) {
+ hits = res;
+ } else {
+ hits = g_list_concat (hits, res);
+ }
}
- }
- g_object_unref (account);
+ g_object_unref (account);
+ }
+
tny_iterator_next (iter);
}
while (!tny_iterator_is_done (iter)) {
TnyFolder *folder =
TNY_FOLDER (tny_iterator_get_current (iter));
- if (modest_tny_folder_get_local_folder_type (folder) == special_type) {
- special_folder = folder;
- break; /* Leaving a ref for the special_folder return value. */
- }
+ if (folder) {
+ if (modest_tny_folder_get_local_folder_type (folder) == special_type) {
+ special_folder = folder;
+ break; /* Leaving a ref for the special_folder return value. */
+ }
- g_object_unref (G_OBJECT(folder));
+ g_object_unref (G_OBJECT(folder));
+ }
+
tny_iterator_next (iter);
}
TnyFolder *folder;
folder = TNY_FOLDER (tny_iterator_get_current (iter));
+ if (folder) {
+ if (helper->task == TASK_GET_ALL_COUNT)
+ helper->sum += tny_folder_get_all_count (folder);
- if (helper->task == TASK_GET_ALL_COUNT)
- helper->sum += tny_folder_get_all_count (folder);
+ if (helper->task == TASK_GET_LOCAL_SIZE)
+ helper->sum += tny_folder_get_local_size (folder);
- if (helper->task == TASK_GET_LOCAL_SIZE)
- helper->sum += tny_folder_get_local_size (folder);
+ if (TNY_IS_FOLDER_STORE (folder))
+ recurse_folders (TNY_FOLDER_STORE (folder), query, helper);
- if (TNY_IS_FOLDER_STORE (folder))
- recurse_folders (TNY_FOLDER_STORE (folder), query, helper);
+ g_object_unref (folder);
+ }
- g_object_unref (folder);
tny_iterator_next (iter);
}
g_object_unref (G_OBJECT (iter));
while (!tny_iterator_is_done (iterator))
{
TnyFolderStoreQueryItem *item = (TnyFolderStoreQueryItem*) tny_iterator_get_current (iterator);
- TnyFolderStoreQueryOption options = tny_folder_store_query_item_get_options (item);
- regex_t *regex = tny_folder_store_query_item_get_regex (item);
+ if (item) {
+ TnyFolderStoreQueryOption options = tny_folder_store_query_item_get_options (item);
+ regex_t *regex = tny_folder_store_query_item_get_regex (item);
- if ((options & TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED) &&
- tny_folder_is_subscribed (folder))
- retval = TRUE;
+ if ((options & TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED) &&
+ tny_folder_is_subscribed (folder))
+ retval = TRUE;
- if ((options & TNY_FOLDER_STORE_QUERY_OPTION_UNSUBSCRIBED) &&
- !(tny_folder_is_subscribed (folder)))
- retval = TRUE;
+ if ((options & TNY_FOLDER_STORE_QUERY_OPTION_UNSUBSCRIBED) &&
+ !(tny_folder_is_subscribed (folder)))
+ retval = TRUE;
- if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME)
- if (regexec (regex, tny_folder_get_name (folder), 0, NULL, 0) == 0)
- retval = TRUE;
+ if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME)
+ if (regexec (regex, tny_folder_get_name (folder), 0, NULL, 0) == 0)
+ retval = TRUE;
- if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_ID)
- if (regexec (regex, tny_folder_get_id (folder), 0, NULL, 0) == 0)
- retval = TRUE;
+ if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_ID)
+ if (regexec (regex, tny_folder_get_id (folder), 0, NULL, 0) == 0)
+ retval = TRUE;
+
+ g_object_unref (G_OBJECT (item));
+ }
- g_object_unref (G_OBJECT (item));
tny_iterator_next (iterator);
}
iterator = tny_list_create_iterator (parts);
while (!tny_iterator_is_done (iterator)) {
TnyMimePart *subpart = TNY_MIME_PART (tny_iterator_get_current (iterator));
- TnyMimePart *subpart_copy = copy_mime_part (subpart);
- tny_mime_part_add_part (result, subpart_copy);
- g_object_unref (subpart);
+ if (subpart) {
+ TnyMimePart *subpart_copy = copy_mime_part (subpart);
+ tny_mime_part_add_part (result, subpart_copy);
+ g_object_unref (subpart);
+ }
+
tny_iterator_next (iterator);
}
g_object_unref (iterator);
{
const gchar *mime_type = want_html ? "text/html" : "text/plain";
TnyMimePart *part = NULL;
- TnyList *parts;
- TnyIterator *iter;
+ TnyList *parts = NULL;
+ TnyIterator *iter = NULL;
if (!msg)
return NULL;
gchar *content_type = NULL;
do {
part = TNY_MIME_PART(tny_iterator_get_current (iter));
- if (TNY_IS_MSG (part)) {
+ if (part && TNY_IS_MSG (part)) {
g_object_unref (part);
tny_iterator_next (iter);
continue;
/* we need to strdown the content type, because
* tny_mime_part_has_content_type does not do it...
*/
- content_type = g_ascii_strdown
- (tny_mime_part_get_content_type (part), -1);
+ if (part) {
+ content_type = g_ascii_strdown
+ (tny_mime_part_get_content_type (part), -1);
+ }
if (g_str_has_prefix (content_type, mime_type) &&
!tny_mime_part_is_attachment (part))
if (part)
break;
}
+
if (part)
g_object_unref (G_OBJECT(part));
if (err != NULL) goto frees;
iter = tny_list_create_iterator (headers);
while (!tny_iterator_is_done (iter)) {
- header = TNY_HEADER (tny_iterator_get_current (iter));
- tny_header_unset_flags (header, TNY_HEADER_FLAG_PRIORITY);
- tny_header_set_flags (header, TNY_HEADER_FLAG_SUSPENDED_PRIORITY);
- tny_iterator_next (iter);
- g_object_unref (header);
+ header = TNY_HEADER (tny_iterator_get_current (iter));
+ if (header) {
+ tny_header_unset_flags (header, TNY_HEADER_FLAG_PRIORITY);
+ tny_header_set_flags (header, TNY_HEADER_FLAG_SUSPENDED_PRIORITY);
+ tny_iterator_next (iter);
+ g_object_unref (header);
+ }
}
g_queue_foreach (priv->queue, (GFunc)modest_tny_send_queue_info_free, NULL);
if (err != NULL) goto frees;
iter = tny_list_create_iterator (headers);
while (!tny_iterator_is_done (iter)) {
- header = TNY_HEADER (tny_iterator_get_current (iter));
- _add_message (self, header);
+ header = TNY_HEADER (tny_iterator_get_current (iter));
+ if (header) {
+ _add_message (self, header);
+ g_object_unref (header);
+ }
+
tny_iterator_next (iter);
- g_object_unref (header);
}
/* Flush send queue */
mgr = modest_runtime_get_window_mgr ();
while (!tny_iterator_is_done (iter) && !found) {
header = TNY_HEADER (tny_iterator_get_current (iter));
- found = modest_window_mgr_find_registered_header (mgr, header, NULL);
- g_object_unref (header);
+ if (header) {
+ found = modest_window_mgr_find_registered_header (mgr, header, NULL);
+ g_object_unref (header);
+ }
+
tny_iterator_next (iter);
}
g_object_unref (iter);
if (tny_list_get_length(header_list) == 1) {
iter = tny_list_create_iterator (header_list);
header = TNY_HEADER (tny_iterator_get_current (iter));
- desc = g_strdup_printf ("%s", tny_header_get_subject (header));
- g_object_unref (header);
+ if (header) {
+ desc = g_strdup_printf ("%s", tny_header_get_subject (header));
+ g_object_unref (header);
+ }
+
g_object_unref (iter);
}
message = g_strdup_printf(ngettext("emev_nc_delete_message", "emev_nc_delete_messages",
ModestMailOperation *mail_op2 = NULL;
TnyList *not_opened_headers = NULL;
TnyList *not_opened_cached_headers = NULL;
- TnyHeaderFlags flags;
+ TnyHeaderFlags flags = 0;
/* Look if we already have a message view for each header. If
true, then remove the header from the list of headers to
not_opened_cached_headers = tny_simple_list_new ();
while (!tny_iterator_is_done (iter)) {
- ModestWindow *window;
- TnyHeader *header;
- gboolean found;
+ ModestWindow *window = NULL;
+ TnyHeader *header = NULL;
+ gboolean found = FALSE;
header = TNY_HEADER (tny_iterator_get_current (iter));
- flags = tny_header_get_flags (header);
+ if (header)
+ flags = tny_header_get_flags (header);
window = NULL;
found = modest_window_mgr_find_registered_header (mgr, header, &window);
else
tny_list_append (not_opened_cached_headers, G_OBJECT (header));
}
- g_object_unref (header);
+
+ if (header)
+ g_object_unref (header);
+
tny_iterator_next (iter);
}
g_object_unref (iter);
TnyIterator *iter_not_opened = tny_list_create_iterator (not_opened_headers);
while (!tny_iterator_is_done (iter_not_opened)) {
TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter_not_opened));
- modest_window_mgr_register_header (mgr, header);
- g_object_unref (header);
+ if (header) {
+ modest_window_mgr_register_header (mgr, header);
+ g_object_unref (header);
+ }
tny_iterator_next (iter_not_opened);
}
TnyIterator *iter_cached = tny_list_create_iterator (not_opened_cached_headers);
while (!tny_iterator_is_done (iter_cached)) {
TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter_cached));
- modest_window_mgr_register_header (mgr, header);
- g_object_unref (header);
+ if (header) {
+ modest_window_mgr_register_header (mgr, header);
+ g_object_unref (header);
+ }
tny_iterator_next (iter_cached);
}
} else {
TnyIterator *iter = tny_list_create_iterator (not_opened_headers);
TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
- modest_mail_operation_get_msg (mail_op1, header, open_msg_cb, NULL);
- g_object_unref (header);
+ if (header) {
+ modest_mail_operation_get_msg (mail_op1, header, open_msg_cb, NULL);
+ g_object_unref (header);
+ }
+
g_object_unref (iter);
}
}
} else {
TnyIterator *iter = tny_list_create_iterator (not_opened_cached_headers);
TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
- modest_mail_operation_get_msg (mail_op2, header, open_msg_cb, NULL);
- g_object_unref (header);
+ if (header) {
+ modest_mail_operation_get_msg (mail_op2, header, open_msg_cb, NULL);
+ g_object_unref (header);
+ }
+
g_object_unref (iter);
}
}
TnyHeaderFlags flags;
header = TNY_HEADER (tny_iterator_get_current (iter));
- flags = tny_header_get_flags (header);
- /* TODO: is this the right flag?, it seems that some
- headers that have been previously downloaded do not
- come with it */
- if (! (flags & TNY_HEADER_FLAG_CACHED))
- uncached_messages ++;
- g_object_unref (header);
+ if (header) {
+ flags = tny_header_get_flags (header);
+ /* TODO: is this the right flag?, it seems that some
+ headers that have been previously downloaded do not
+ come with it */
+ if (! (flags & TNY_HEADER_FLAG_CACHED))
+ uncached_messages ++;
+ g_object_unref (header);
+ }
+
tny_iterator_next (iter);
}
g_object_unref (iter);
header = TNY_HEADER (tny_iterator_get_current (iter));
g_object_unref (iter);
- modest_mail_operation_get_msg (mail_op,
+ if (header) {
+ modest_mail_operation_get_msg (mail_op,
header,
reply_forward_cb,
rf_helper);
-/* modest_mail_operation_get_msgs_full (mail_op, */
+/* modest_mail_operation_get_msgs_full (mail_op, */
/* header_list, */
/* reply_forward_cb, */
/* rf_helper, */
/* free_reply_forward_helper); */
+ g_object_unref (header);
+ }
+
/* Clean */
g_object_unref(mail_op);
}
TnyList *header_list = modest_header_view_get_selected_headers (MODEST_HEADER_VIEW (focused_widget));
TnyIterator *iter = tny_list_create_iterator (header_list);
TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
- TnyFolder *folder = tny_header_get_folder (header);
- TnyAccount *account = tny_folder_get_account (folder);
- const gchar *proto_str = tny_account_get_proto (TNY_ACCOUNT (account));
- /* If it's POP then ask */
- gboolean ask = (modest_protocol_info_get_transport_store_protocol (proto_str) ==
- MODEST_PROTOCOL_STORE_POP) ? TRUE : FALSE;
- g_object_unref (account);
- g_object_unref (folder);
- g_object_unref (header);
+
+ gboolean ask = FALSE;
+ if (header) {
+ TnyFolder *folder = tny_header_get_folder (header);
+ TnyAccount *account = tny_folder_get_account (folder);
+ const gchar *proto_str = tny_account_get_proto (TNY_ACCOUNT (account));
+ /* If it's POP then ask */
+ ask = (modest_protocol_info_get_transport_store_protocol (proto_str) ==
+ MODEST_PROTOCOL_STORE_POP) ? TRUE : FALSE;
+ g_object_unref (account);
+ g_object_unref (folder);
+ g_object_unref (header);
+ }
+
g_object_unref (iter);
/* Check that the messages have been previously downloaded */
iter = tny_list_create_iterator (headers_list);
header = TNY_HEADER (tny_iterator_get_current (iter));
- headers_action_show_details (header, win, NULL);
- g_object_unref (header);
+ if (header) {
+ headers_action_show_details (header, win, NULL);
+ g_object_unref (header);
+ }
g_object_unref (iter);
g_object_unref (headers_list);
iter = tny_list_create_iterator (list);
while (tny_iterator_is_done (iter) && !found) {
TnyHeader *header;
- TnyHeaderFlags flags;
+ TnyHeaderFlags flags = 0;
header = TNY_HEADER (tny_iterator_get_current (iter));
- flags = tny_header_get_flags (header);
- if (!(flags & TNY_HEADER_FLAG_PARTIAL))
- found = TRUE;
+ if (header) {
+ flags = tny_header_get_flags (header);
+ if (!(flags & TNY_HEADER_FLAG_PARTIAL))
+ found = TRUE;
+
+ g_object_unref (header);
+ }
if (!found)
tny_iterator_next (iter);
/* If the destination is a local folder */
if (modest_tny_folder_is_local_folder (dest_folder)) {
- TnyFolder *src_folder;
- TnyIterator *iter;
- TnyHeader *header;
+ TnyFolder *src_folder = NULL;
+ TnyIterator *iter = NULL;
+ TnyHeader *header = NULL;
/* Get source folder */
iter = tny_list_create_iterator (headers);
header = TNY_HEADER (tny_iterator_get_current (iter));
- src_folder = tny_header_get_folder (header);
- g_object_unref (header);
+ if (header) {
+ src_folder = tny_header_get_folder (header);
+ g_object_unref (header);
+ }
+
g_object_unref (iter);
/* if no src_folder, message may be an attahcment */
response = modest_platform_run_confirmation_dialog (GTK_WINDOW (win),
(const gchar *) message);
}
+
g_object_unref (src_folder);
}
+
return response;
}
while (!tny_iterator_is_done (iter)) {
TnyMimePart *part;
part = TNY_MIME_PART (tny_iterator_get_current (iter));
- if (tny_mime_part_is_attachment (part) || TNY_IS_MSG (part)) {
+ if (part && (tny_mime_part_is_attachment (part) || TNY_IS_MSG (part))) {
if (tny_mime_part_is_purged (part))
some_purged = TRUE;
else
pending_purges++;
}
+
+ if (part)
+ g_object_unref (part);
+
tny_iterator_next (iter);
}
TnyMimePart *part;
part = TNY_MIME_PART (tny_iterator_get_current (iter));
- if (tny_mime_part_is_attachment (part) || TNY_IS_MSG (part))
+ if (part && (tny_mime_part_is_attachment (part) || TNY_IS_MSG (part)))
tny_mime_part_set_purged (part);
+
+ if (part)
+ g_object_unref (part);
+
tny_iterator_next (iter);
}
TnyMimePart *part;
part = TNY_MIME_PART (tny_iterator_get_current (iter));
- g_object_unref (part);
+ if (part) {
+ /* One for the reference given by tny_iterator_get_current(): */
+ g_object_unref (part);
+
+ /* TODO: Is this meant to remove the attachment by doing another unref()?
+ * Otherwise, this seems useless. */
+ }
+
tny_iterator_next (iter);
}
modest_window_mgr_unregister_header (mgr, header);
HeadersFunc func,
gpointer user_data)
{
- TnyList *headers_list;
- TnyIterator *iter;
- TnyHeader *header;
- TnyFolder *folder;
+ TnyList *headers_list = NULL;
+ TnyIterator *iter = NULL;
+ TnyHeader *header = NULL;
+ TnyFolder *folder = NULL;
/* Get headers */
headers_list = get_selected_headers (win);
/* Get the folder */
iter = tny_list_create_iterator (headers_list);
header = TNY_HEADER (tny_iterator_get_current (iter));
- folder = tny_header_get_folder (header);
- g_object_unref (header);
+ if (header) {
+ folder = tny_header_get_folder (header);
+ g_object_unref (header);
+ }
/* Call the function for each header */
while (!tny_iterator_is_done (iter)) {
found = FALSE;
while (!tny_iterator_is_done (iter)) {
header = TNY_HEADER (tny_iterator_get_current (iter));
- found = modest_window_mgr_find_registered_header (mgr,header, NULL);
+ if (header) {
+ found = modest_window_mgr_find_registered_header (mgr,header, NULL);
- g_object_unref (header);
+ g_object_unref (header);
+ }
+
tny_iterator_next (iter);
if (found)
TnyList *selected_headers = NULL;
TnyIterator *iter = NULL;
TnyHeader *header = NULL;
- TnyHeaderFlags flags;
+ TnyHeaderFlags flags = 0;
gboolean result = FALSE;
if (MODEST_IS_MAIN_WINDOW (win))
iter = tny_list_create_iterator (selected_headers);
while (!tny_iterator_is_done (iter) && !result) {
header = TNY_HEADER (tny_iterator_get_current (iter));
+ if (header) {
+ flags = tny_header_get_flags (header);
+ if (opposite)
+ result = (flags & mask) == 0;
+ else
+ result = (flags & mask) != 0;
- flags = tny_header_get_flags (header);
- if (opposite)
- result = (flags & mask) == 0;
- else
- result = (flags & mask) != 0;
+ g_object_unref (header);
+ }
- g_object_unref (header);
tny_iterator_next (iter);
}
TnyList *selected_headers = NULL;
TnyIterator *iter = NULL;
TnyHeader *header = NULL;
- TnyHeaderFlags flags;
+ TnyHeaderFlags flags = 0;
gboolean result = FALSE;
g_return_val_if_fail (MODEST_IS_MAIN_WINDOW (win), FALSE);
iter = tny_list_create_iterator (selected_headers);
while (!tny_iterator_is_done (iter) && result) {
header = TNY_HEADER (tny_iterator_get_current (iter));
-
- flags = tny_header_get_flags (header);
- /* TODO: is this the right flag?, it seems that some
- headers that have been previously downloaded do not
- come with it */
- result = (flags & TNY_HEADER_FLAG_CACHED);
+ if (header) {
+ flags = tny_header_get_flags (header);
+ /* TODO: is this the right flag?, it seems that some
+ headers that have been previously downloaded do not
+ come with it */
+ result = (flags & TNY_HEADER_FLAG_CACHED);
+
+ g_object_unref (header);
+ }
- g_object_unref (header);
tny_iterator_next (iter);
}
if (!header_list) return FALSE;
iter = tny_list_create_iterator (header_list);
header = TNY_HEADER (tny_iterator_get_current (iter));
-
- /* Get message id */
- id = g_strdup(tny_header_get_message_id (header));
+ if (header) {
+ /* Get message id */
+ id = g_strdup(tny_header_get_message_id (header));
+ g_object_unref (header);
+ }
} else if (MODEST_IS_MSG_VIEW_WINDOW(win)) {
/* Get message header */
header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW(win));
+ if (header) {
+ /* Get message id */
+ id = g_strdup(tny_header_get_message_id (header));
- /* Get message id */
- id = g_strdup(tny_header_get_message_id (header));
+ g_object_unref (header);
+ }
}
/* Check if msg id is being processed inside send queue */
/* Free */
g_free(id);
- g_object_unref (header);
g_object_unref(header_list);
g_object_unref(iter);
TnyMimePart *part;
part = TNY_MIME_PART (tny_iterator_get_current (iter));
- if (tny_mime_part_is_attachment (part) || TNY_IS_MSG (part)) {
+ if (part && (tny_mime_part_is_attachment (part) || TNY_IS_MSG (part))) {
modest_attachments_view_add_attachment (attachments_view, part);
}
- g_object_unref (part);
+
+ if (part)
+ g_object_unref (part);
+
tny_iterator_next (iter);
}
if (part_cid && strcmp (cid, part_cid) == 0)
break;
- g_object_unref (G_OBJECT(part));
+ if (part)
+ g_object_unref (G_OBJECT(part));
part = NULL;
tny_iterator_next (iter);
while (!tny_iterator_is_done (iter) && (!*folder_src || !*folder_dst))
{
TnyFolderStore *folder = (TnyFolderStore*) tny_iterator_get_current (iter);
- const gchar *folder_name = NULL;
+ if (folder) {
+ const gchar *folder_name = NULL;
- folder_name = tny_folder_get_name (TNY_FOLDER (folder));
+ folder_name = tny_folder_get_name (TNY_FOLDER (folder));
- if (strcmp (folder_name, src_name) == 0)
- *folder_src = g_object_ref (folder);
+ if (strcmp (folder_name, src_name) == 0)
+ *folder_src = g_object_ref (folder);
- if (!strcmp (folder_name, dst_name))
- *folder_dst = g_object_ref (folder);
+ if (!strcmp (folder_name, dst_name))
+ *folder_dst = g_object_ref (folder);
- find_folders (folder, query, folder_src, folder_dst);
+ find_folders (folder, query, folder_src, folder_dst);
- g_object_unref (G_OBJECT (folder));
+ g_object_unref (G_OBJECT (folder));
+ }
tny_iterator_next (iter);
}
modest_mail_operation_queue_add (queue, mail_op);
g_object_unref (G_OBJECT (mail_op));
+
+ if (account)
+ g_object_unref (account);
return FALSE;
}
int main(int argc, char *argv[])
{
- GSList *attachments = NULL;
/* Initialize maemo application */
osso_context_t * osso_context = osso_initialize(
"test_hello", "0.0.1", TRUE, NULL);
/* Call the function in libmodest-dbus-client: */
- attachments = g_slist_append(attachments, "/usr/include/math.h,/usr/include/malloc.h");
-
GList *list = NULL;
const gboolean ret = libmodest_dbus_client_get_folders (
osso_context, &list);