From e687d1a435d70200a50d65babe86b754cd0ff13f Mon Sep 17 00:00:00 2001 From: Not Zed Date: Mon, 24 May 2004 04:17:34 +0000 Subject: pull the message from the regen list before we check the list and pending 2004-05-24 Not Zed * message-list.c (regen_list_regened): pull the message from the regen list before we check the list and pending uid. * em-folder-view.c (emfv_enable_menus): remove the hack for enabling select delete from here and put it in the right place. (em_folder_view_get_popup_target): put it here so its consistent. svn path=/trunk/; revision=26055 --- mail/ChangeLog | 9 +++++++++ mail/em-folder-view.c | 14 +++++++++----- mail/message-list.c | 4 +++- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 1aaad2de7a..9a008408a9 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,12 @@ +2004-05-24 Not Zed + + * message-list.c (regen_list_regened): pull the message from the + regen list before we check the list and pending uid. + + * em-folder-view.c (emfv_enable_menus): remove the hack for + enabling select delete from here and put it in the right place. + (em_folder_view_get_popup_target): put it here so its consistent. + 2004-05-22 Not Zed * mail-tools.c (mail_tool_uri_to_folder): put note_store back in. diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index 3b6422da9e..94e805a87b 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -1621,16 +1621,16 @@ emfv_enable_menus(EMFolderView *emfv) if (emfv->folder) { t = em_folder_view_get_popup_target(emfv); disable_mask = t->mask; + + printf("\nenabling menu's\n"); + printf("selected = %d\n", t->data.select.uids->len); + em_popup_target_free(t); - - /* always allow deleting of already-deleted messages - * from the main menus/toolbar */ - if (!emfv->hide_deleted) - disable_mask &= ~EM_POPUP_SELECT_DELETE; } else { disable_mask = ~0; } + name = g_string_new(""); for (l = emfv->enable_map; l; l = l->next) { EMFolderViewEnable *map = l->data; @@ -1840,6 +1840,10 @@ em_folder_view_get_popup_target(EMFolderView *emfv) if (message_list_hidden(emfv->list) != 0) t->mask &= ~EM_FOLDER_VIEW_SELECT_HIDDEN; + + /* See bug #54770 */ + if (!emfv->hide_deleted) + t->mask &= ~EM_POPUP_SELECT_DELETE; return t; } diff --git a/mail/message-list.c b/mail/message-list.c index 58f579dc4b..d621281433 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -3516,6 +3516,8 @@ regen_list_regened (struct _mail_msg *mm) g_free (m->ml->search); m->ml->search = m->search; + m->ml->regen = g_list_remove(m->ml->regen, m); + if (m->ml->regen == NULL && m->ml->pending_select_uid) { char *uid = m->ml->pending_select_uid; @@ -3549,7 +3551,7 @@ regen_list_free (struct _mail_msg *mm) if (m->changes) camel_folder_change_info_free (m->changes); - /* we have to poke this here since we might've been cancelled and regened wont get called */ + /* we have to poke this here as well since we might've been cancelled and regened wont get called */ m->ml->regen = g_list_remove(m->ml->regen, m); g_object_unref(m->ml); -- cgit v1.2.3