$OpenBSD: patch-browser_c,v 1.6 2009/06/16 09:37:19 sthen Exp $
--- browser.c.orig	Thu Jun 11 18:52:54 2009
+++ browser.c	Mon Jun 15 21:06:08 2009
@@ -27,6 +27,7 @@
 #include "buffy.h"
 #include "mapping.h"
 #include "sort.h"
+#include "mx.h"
 #include "mailbox.h"
 #include "browser.h"
 #ifdef USE_IMAP
@@ -352,6 +353,21 @@ static void init_state (struct browser_state *state, M
     menu->data = state->entry;
 }
 
+static void check_maildir_times (BUFFY *buf, struct stat *st)
+{
+  char buffer[_POSIX_PATH_MAX + SHORT_STRING];
+  struct stat s;
+
+  if(!buf || buf->magic != M_MAILDIR)
+    return;
+
+  snprintf (buffer, sizeof (buffer), "%s/tmp", buf->path);
+  if (lstat (buffer, &s) != 0)
+    return;
+
+  st->st_mtime = s.st_mtime;
+}
+
 static int examine_directory (MUTTMENU *menu, struct browser_state *state,
 			      char *d, const char *prefix)
 {
@@ -415,6 +431,7 @@ static int examine_directory (MUTTMENU *menu, struct b
     tmp = Incoming;
     while (tmp && mutt_strcmp (buffer, tmp->path))
       tmp = tmp->next;
+    check_maildir_times (tmp, &s);
     add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
   }
   closedir (dp);  
@@ -479,6 +496,7 @@ static int examine_mailboxes (MUTTMENU *menu, struct b
     strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
     mutt_pretty_mailbox (buffer, sizeof (buffer));
 
+    check_maildir_times (tmp, &s);
     add_folder (menu, state, buffer, &s, tmp->new);
   }
   while ((tmp = tmp->next));
