* Fixes NB#85194, do not crash when d&d quickly over the same message
authorJose Dapena Paz <jdapena@igalia.com>
Tue, 30 Sep 2008 08:04:47 +0000 (08:04 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Tue, 30 Sep 2008 08:04:47 +0000 (08:04 +0000)
  (backported from trunk r5318).

pmo-diablo-r5810

src/modest-ui-actions.c
src/widgets/modest-folder-view.c

index e3511e8..7a37903 100644 (file)
@@ -5343,6 +5343,10 @@ modest_ui_actions_transfer_messages_helper (GtkWindow *win,
        gboolean need_connection = TRUE;
        gboolean do_xfer = TRUE;
        XferMsgsHelper *helper;
+
+       g_return_if_fail (TNY_IS_FOLDER (src_folder));
+       g_return_if_fail (TNY_IS_FOLDER (dst_folder));
+       g_return_if_fail (TNY_IS_LIST (headers));
        
        modest_ui_actions_xfer_messages_check (win, TNY_FOLDER_STORE (src_folder), 
                                               headers, TNY_FOLDER (dst_folder),
@@ -5401,6 +5405,7 @@ modest_ui_actions_on_msg_view_window_move_to (GtkAction *action,
                                                    TNY_FOLDER (dst_folder));
 
        /* Frees */
+       g_object_unref (src_folder);
        g_object_unref (header);
        g_object_unref (headers);
 }
index df26d80..dad2d33 100644 (file)
@@ -2087,6 +2087,12 @@ drag_and_drop_from_header_view (GtkTreeModel *source_model,
        }
        g_strfreev (uris);
 
+       /* This could happen ig we perform a d&d very quickly over the
+          same row that row could dissapear because message is
+          transferred */
+       if (!TNY_IS_FOLDER (src_folder))
+               goto cleanup;
+
        /* Get the target folder */
        gtk_tree_model_get_iter (dest_model, &dest_iter, dest_row);
        gtk_tree_model_get (dest_model, &dest_iter,