From: Jose Dapena Paz Date: Wed, 11 Jul 2007 14:23:05 +0000 (+0000) Subject: * src/widgets/modest-folder-view.c: X-Git-Tag: git_migration_finished~2838 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=895ef768f8f37f37b2d9c88bf115187177b45962 * src/widgets/modest-folder-view.c: * Removed a posible leak of a reference to folders if folders retrieval failed. * src/widgets/modest-header-view.c: * Put null to some headers initial values to prevent using it without values. * src/modest-tny-msg.c: * Add a reference owned by the attachments list * src/maemo/modest-msg-view-window.c: * We don't run the clipboard owner change handler if the window is not visible. pmo-trunk-r2700 --- diff --git a/src/maemo/modest-msg-view-window.c b/src/maemo/modest-msg-view-window.c index 87ea173..7e39bf7 100644 --- a/src/maemo/modest-msg-view-window.c +++ b/src/maemo/modest-msg-view-window.c @@ -1510,6 +1510,9 @@ modest_msg_view_window_clipboard_owner_change (GtkClipboard *clipboard, gchar *selection; GtkWidget *focused; + if (!GTK_WIDGET_VISIBLE (window)) + return; + parent_priv = MODEST_WINDOW_GET_PRIVATE (window); selection = gtk_clipboard_wait_for_text (clipboard); diff --git a/src/modest-tny-msg.c b/src/modest-tny-msg.c index 0164e21..0a23c7d 100644 --- a/src/modest-tny-msg.c +++ b/src/modest-tny-msg.c @@ -460,8 +460,10 @@ add_if_attachment (gpointer data, gpointer user_data) part = TNY_MIME_PART (data); attachments_list = ((GList **) user_data); - if ((tny_mime_part_is_attachment (part))||(TNY_IS_MSG (part))) + if ((tny_mime_part_is_attachment (part))||(TNY_IS_MSG (part))) { *attachments_list = g_list_prepend (*attachments_list, part); + g_object_ref (part); + } } TnyMsg* diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index 00f1f65..46e5d4d 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -1225,7 +1225,7 @@ static gint cmp_rows (GtkTreeModel *tree_model, GtkTreeIter *iter1, GtkTreeIter *iter2, gpointer user_data) { - gint cmp; + gint cmp = 0; gchar *name1 = NULL; gchar *name2 = NULL; TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; @@ -1249,7 +1249,7 @@ cmp_rows (GtkTreeModel *tree_model, GtkTreeIter *iter1, GtkTreeIter *iter2, folder copy/move actually occurs, so there could be situations where the model to be drawn is not correct */ if (!folder1 || !folder2) - return 0; + goto finish; if (type == TNY_FOLDER_TYPE_ROOT) { /* Compare the types, so that @@ -1276,16 +1276,17 @@ cmp_rows (GtkTreeModel *tree_model, GtkTreeIter *iter1, GtkTreeIter *iter2, const gchar *account_id = account1 ? tny_account_get_id (account1) : NULL; const gchar *account_id2 = account2 ? tny_account_get_id (account2) : NULL; - if (!account_id && !account_id2) - return 0; - else if (!account_id) - return -1; - else if (!account_id2) - return +1; - else if (!strcmp (account_id, MODEST_MMC_ACCOUNT_ID)) + if (!account_id && !account_id2) { + cmp = 0; + } else if (!account_id) { + cmp = -1; + } else if (!account_id2) { cmp = +1; - else + } else if (!strcmp (account_id, MODEST_MMC_ACCOUNT_ID)) { + cmp = +1; + } else { cmp = modest_text_utils_utf8_strcmp (name1, name2, TRUE); + } } } else { gint cmp1 = 0, cmp2 = 0; @@ -1321,7 +1322,8 @@ cmp_rows (GtkTreeModel *tree_model, GtkTreeIter *iter1, GtkTreeIter *iter2, else cmp = (cmp1 - cmp2); } - + +finish: if (folder1) g_object_unref(G_OBJECT(folder1)); if (folder2) @@ -1455,7 +1457,10 @@ drag_and_drop_from_header_view (GtkTreeModel *source_model, } /* Transfer message */ - mail_op = modest_mail_operation_new (MODEST_MAIL_OPERATION_TYPE_RECEIVE, NULL); + mail_op = modest_mail_operation_new_with_error_handling (MODEST_MAIL_OPERATION_TYPE_RECEIVE, + NULL, + modest_ui_actions_move_folder_error_handler, + NULL); modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op); g_signal_connect (G_OBJECT (mail_op), "progress-changed", diff --git a/src/widgets/modest-header-view.c b/src/widgets/modest-header-view.c index e5ac449..fe42dbc 100644 --- a/src/widgets/modest-header-view.c +++ b/src/widgets/modest-header-view.c @@ -1148,7 +1148,7 @@ static void on_selection_changed (GtkTreeSelection *sel, gpointer user_data) { GtkTreeModel *model; - TnyHeader *header; + TnyHeader *header = NULL; GtkTreePath *path = NULL; GtkTreeIter iter; ModestHeaderView *self; @@ -1297,7 +1297,7 @@ drag_data_get_cb (GtkWidget *widget, GdkDragContext *context, gtk_tree_set_row_drag_data (selection_data, model, source_row); break; case MODEST_MSG: { - TnyHeader *hdr; + TnyHeader *hdr = NULL; gtk_tree_model_get (model, &iter, TNY_GTK_HEADER_LIST_MODEL_INSTANCE_COLUMN, &hdr, -1);