aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog11
-rw-r--r--mail/mail-callbacks.c8
2 files changed, 19 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 5b020c59aa..291e1f5533 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,14 @@
+2000-10-04 Miguel de Icaza <miguel@helixcode.com>
+
+ * mail-callbacks.c (delete_msg): Added a comment to a piece of
+ code that I was trying to "fix" just to find that the strange
+ behaviour here that was about to be fixed, was actually a fix to
+ the problem I was trying to fix.
+
+ So put the original comments from Dan, and will hope that someone
+ with more knowledge about this can figure why the delete key wont
+ delete messages and select the next unread message.
+
2000-10-02 Chris Toshok <toshok@helixcode.com>
* subscribe-dialog.c (subscribe_dialog_destroy): destroy our
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 6545db3b17..1cbc1bc5a7 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -629,6 +629,14 @@ delete_msg (GtkWidget *button, gpointer user_data)
uids = g_ptr_array_new ();
message_list_foreach (ml, enumerate_msg, uids);
+
+ /*
+ * Toggling a flag is an "instantaneous" operation, so if
+ * we're only doing one, just do it and return, rather than
+ * queueing it for the other thread. This makes the "Delete"
+ * key work correctly (move to the next message) again.
+ * - Dan
+ */
if (uids->len == 1) {
guint32 flags;
char *uid = uids->pdata[0];