+2001-12-23 [alfons] 0.6.6claws11
+
+ * src/mainwindow.c
+ fix bug introduced by submission included in 0.6.5claws52.
+ ideally this submission should clean the trash if any trash
+ folder has a message. however, the hasTrash variable was
+ set to false whenever a trash folder was empty (discarding
+ a previously found *filled* trash folder.)
+
+ also edited the code a little bit and made it more safe.
+
2001-12-22 [alfons] 0.6.6claws10
* src/imap.c
void main_window_empty_trash(MainWindow *mainwin, gboolean confirm)
{
GList *list;
- gboolean hasTrash = 0;
-
- for (list = folder_get_list(); list != NULL; list = list->next) {
- Folder *folder;
+ guint has_trash;
+ Folder *folder;
- folder = list->data;
- if (folder->trash) {
- hasTrash = (folder->trash->total > 0);
- }
+ for (has_trash = 0, list = folder_get_list(); list != NULL; list = list->next) {
+ folder = FOLDER(list->data);
+ if (folder && folder->trash && folder->trash->total > 0)
+ has_trash++;
}
- if (!hasTrash) {
- return;
- }
-
+ if (!has_trash) return;
+
if (confirm) {
if (alertpanel(_("Empty trash"),
_("Empty all messages in trash?"),
procmsg_empty_trash();
for (list = folder_get_list(); list != NULL; list = list->next) {
- Folder *folder;
-
folder = list->data;
- if (folder->trash && folder->trash->total != 0) {
+ if (folder && folder->trash && folder->trash->total != 0) {
folder_item_scan(folder->trash);
folderview_update_item(folder->trash, TRUE);
}