aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/em-folder-tree.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 499a36c4b8..4c6b16e59f 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,12 @@
2008-06-13 Milan Crha <mcrha@redhat.com>
+ ** Fix for bug #538002
+
+ * em-folder-tree.c: (emft_drop_target): Do not allow dropping messages
+ on folders with CAMEL_FOLDER_NOSELECT flag set.
+
+2008-06-13 Milan Crha <mcrha@redhat.com>
+
** Fix for bug #314467
* em-account-editor.c: (emae_url_set_hostport):
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index 332c3e8cce..a2d4b68cf4 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -1100,6 +1100,7 @@ emft_drop_target(EMFolderTree *emft, GdkDragContext *context, GtkTreePath *path)
gboolean is_store;
GtkTreeIter iter;
GList *targets;
+ guint32 flags = 0;
/* This is a bit of a mess, but should handle all the cases properly */
@@ -1108,6 +1109,7 @@ emft_drop_target(EMFolderTree *emft, GdkDragContext *context, GtkTreePath *path)
gtk_tree_model_get((GtkTreeModel *)p->model, &iter, COL_BOOL_IS_STORE, &is_store,
COL_STRING_FULL_NAME, &full_name,
+ COL_UINT_FLAGS, &flags,
COL_POINTER_CAMEL_STORE, &dstore,
COL_STRING_URI, &uri, -1);
@@ -1144,6 +1146,9 @@ emft_drop_target(EMFolderTree *emft, GdkDragContext *context, GtkTreePath *path)
if (!strcmp (full_name, CAMEL_VTRASH_NAME)
|| !strcmp (full_name, CAMEL_VJUNK_NAME))
goto done;
+
+ if (flags & CAMEL_FOLDER_NOSELECT)
+ goto done;
}
if (p->drag_row) {