From: Sergio Villar Senin Date: Mon, 12 Jan 2009 15:58:58 +0000 (+0000) Subject: * Fixes NB#97283, fixes moving messages from viewer window X-Git-Tag: git_migration_finished~830 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=6d59df29bb4fc60a58c172c029dfbb3db3a2f580 * Fixes NB#97283, fixes moving messages from viewer window pmo-trunk-r7107 --- diff --git a/src/gnome/modest-platform.c b/src/gnome/modest-platform.c index 3236bc2..ba6a536 100644 --- a/src/gnome/modest-platform.c +++ b/src/gnome/modest-platform.c @@ -630,6 +630,9 @@ modest_platform_get_list_to_move (ModestWindow *window) tny_list_prepend (list, G_OBJECT (header)); g_object_unref (header); } + } else { + g_return_val_if_reached (NULL); } + return list; } diff --git a/src/hildon2/modest-platform.c b/src/hildon2/modest-platform.c index 19c8883..f48a81c 100644 --- a/src/hildon2/modest-platform.c +++ b/src/hildon2/modest-platform.c @@ -2450,16 +2450,16 @@ modest_platform_create_move_to_dialog (GtkWindow *parent_window, TnyList * modest_platform_get_list_to_move (ModestWindow *window) { + TnyList *list = NULL; + if (MODEST_IS_HEADER_WINDOW (window)) { ModestHeaderView *header_view; header_view = modest_header_window_get_header_view (MODEST_HEADER_WINDOW (window)); - - return modest_header_view_get_selected_headers (header_view); + list = modest_header_view_get_selected_headers (header_view); } else if (MODEST_IS_FOLDER_WINDOW (window)) { ModestFolderView *folder_view; TnyFolderStore *selected_folder; - TnyList *list; list = TNY_LIST (tny_simple_list_new ()); folder_view = modest_folder_window_get_folder_view (MODEST_FOLDER_WINDOW (window)); @@ -2469,7 +2469,18 @@ modest_platform_get_list_to_move (ModestWindow *window) g_object_unref (selected_folder); } return list; + } else if (MODEST_IS_MSG_VIEW_WINDOW (window)) { + TnyHeader *header; + + header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (window)); + if (header) { + list = TNY_LIST (tny_simple_list_new ()); + tny_list_prepend (list, G_OBJECT (header)); + g_object_unref (header); + } } else { - return NULL; + g_return_val_if_reached (NULL); } + + return list; } diff --git a/src/maemo/modest-platform.c b/src/maemo/modest-platform.c index 28fc3ab..46a0c55 100644 --- a/src/maemo/modest-platform.c +++ b/src/maemo/modest-platform.c @@ -2241,6 +2241,9 @@ modest_platform_get_list_to_move (ModestWindow *window) tny_list_prepend (list, G_OBJECT (header)); g_object_unref (header); } + } else { + g_return_val_if_reached (NULL); } + return list; } diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index a61fa17..c4bf52d 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -4845,7 +4845,8 @@ on_move_to_dialog_response (GtkDialog *dialog, } /* Free the helper and exit */ - g_object_unref (helper->list); + if (helper->list) + g_object_unref (helper->list); g_slice_free (MoveToInfo, helper); gtk_widget_destroy (GTK_WIDGET (dialog)); }