diff options
-rw-r--r-- | mail/ChangeLog | 11 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 8 |
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]; |