* src/widgets/modest-folder-view.c:
[modest] / src / widgets / modest-folder-view.c
index bf6455b..4d854dd 100644 (file)
@@ -2231,8 +2231,8 @@ drag_and_drop_from_folder_view (GtkTreeModel     *source_model,
                        forbidden = rules & MODEST_FOLDER_RULES_FOLDER_NON_WRITEABLE;
                } else if (TNY_IS_FOLDER_STORE(folder)) {
                        /* enable local root as destination for folders */
-                       if (!MODEST_IS_TNY_LOCAL_FOLDERS_ACCOUNT (folder)
-                                       && TNY_IS_ACCOUNT (folder))
+                       if (!MODEST_IS_TNY_LOCAL_FOLDERS_ACCOUNT (folder) && 
+                           !modest_tny_account_is_memory_card_account (TNY_ACCOUNT (folder)))
                                forbidden = TRUE;
                }
                g_object_unref (folder);
@@ -2512,9 +2512,9 @@ on_drag_motion (GtkWidget      *widget,
 
        /* Expand the selected row after 1/2 second */
        if (!gtk_tree_view_row_expanded (GTK_TREE_VIEW (widget), dest_row)) {
-               gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (widget), dest_row, pos);
                priv->timer_expander = g_timeout_add (500, expand_row_timeout, widget);
        }
+       gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (widget), dest_row, pos);
 
        /* Select the desired action. By default we pick MOVE */
        suggested_action = GDK_ACTION_MOVE;
@@ -2531,8 +2531,9 @@ on_drag_motion (GtkWidget      *widget,
  out:
        if (folder)
                g_object_unref (folder);
-       if (dest_row)
+       if (dest_row) {
                gtk_tree_path_free (dest_row);
+       }
        g_signal_stop_emission_by_name (widget, "drag-motion");
 
        return valid_location;