aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/component-factory.c4
-rw-r--r--mail/folder-browser.c6
-rw-r--r--mail/message-list.c10
4 files changed, 22 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index e2ffb41ad6..0785f68098 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,11 @@
+2001-08-23 Jeffrey Stedfast <fejj@ximian.com>
+
+ * component-factory.c (destination_folder_handle_drop): Check to
+ make sure we actually have drag data.
+
+ * folder-browser.c (message_list_drag_data_received): Check to
+ make sure we have valid data.
+
2001-08-21 Christopher James Lahey <clahey@ximian.com>
* Revert fix for Ximian bug #6995.
diff --git a/mail/component-factory.c b/mail/component-factory.c
index c8652721e2..c197827fc1 100644
--- a/mail/component-factory.c
+++ b/mail/component-factory.c
@@ -451,6 +451,10 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *des
if (action == GNOME_Evolution_ShellComponentDnd_ACTION_LINK)
return FALSE; /* we can't create links */
+ /* this means the drag was cancelled */
+ if (!data->bytes._buffer || data->bytes._length == -1)
+ return FALSE;
+
uri = camel_url_new (physical_uri, NULL);
noselect = uri ? camel_url_get_param (uri, "noselect") : NULL;
if (noselect && !g_strcasecmp (noselect, "yes")) {
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index bc0dd26175..d54c658450 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -443,6 +443,10 @@ message_list_drag_data_received (ETree *tree, int row, ETreePath path, int col,
CamelURL *uri;
int i, fd;
+ /* this means we are receiving no data */
+ if (!selection_data->data || selection_data->length == -1)
+ return;
+
camel_exception_init (&ex);
switch (info) {
@@ -599,7 +603,7 @@ selection_received (GtkWidget *widget, GtkSelectionData *selection_data,
CamelFolder *source = NULL;
GPtrArray *uids = NULL;
- if (selection_data == NULL)
+ if (selection_data == NULL || selection_data->length == -1)
return;
source = x_evolution_message_parse (selection_data->data, selection_data->length, &uids);
diff --git a/mail/message-list.c b/mail/message-list.c
index 12deb78495..16b1ec0fc5 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -1279,9 +1279,9 @@ clear_tree (MessageList *ml)
/* we also reset the uid_rowmap since it is no longer useful/valid anyway */
if (ml->folder)
- g_hash_table_foreach(ml->uid_nodemap, (GHFunc)clear_info, ml);
+ g_hash_table_foreach (ml->uid_nodemap, (GHFunc)clear_info, ml);
g_hash_table_destroy (ml->uid_nodemap);
- ml->uid_nodemap = g_hash_table_new(g_str_hash, g_str_equal);
+ ml->uid_nodemap = g_hash_table_new (g_str_hash, g_str_equal);
if (ml->tree_root) {
/* we should be frozen already */
@@ -2083,12 +2083,12 @@ message_list_foreach (MessageList *message_list,
/* set whether we are in threaded view or flat view */
void
-message_list_set_threaded(MessageList *ml, gboolean threaded)
+message_list_set_threaded (MessageList *ml, gboolean threaded)
{
if (ml->threaded != threaded) {
ml->threaded = threaded;
-
- mail_regen_list(ml, ml->search, NULL, NULL);
+
+ mail_regen_list (ml, ml->search, NULL, NULL);
}
}