Andreas Krennmair:
[apps/madmutt.git] / buffy.c
diff --git a/buffy.c b/buffy.c
index 5e041d0..757d583 100644 (file)
--- a/buffy.c
+++ b/buffy.c
  *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  */
 
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include "mutt.h"
 #include "buffy.h"
 #include "mailbox.h"
@@ -400,6 +404,7 @@ int mutt_buffy_check (int force)
        }
        tmp->msgcount = 0;
        tmp->msg_unread = 0;
+       tmp->msg_tagged = 0;
        while ((de = readdir (dirp)) != NULL)
        {
          char *p;
@@ -407,14 +412,17 @@ int mutt_buffy_check (int force)
              (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
          {
            /* one new and undeleted message is enough */
-           BuffyCount++;
-           tmp->has_new = tmp->new = 1;
-        tmp->msgcount++;
-               tmp->msg_unread++;
+            if (tmp->new != 1)
+           {
+               BuffyCount++;
+              tmp->has_new = tmp->new = 1;
+           }
+           tmp->msgcount++;
+           tmp->msg_unread++;
          }
        }
        closedir (dirp);
-#if 0
+#if 1
   /* I commented this out because it led to an infite "New mail in ..." loop,
    * and when looking at the code, the check seems to be overly eager.
    *   -- ak
@@ -433,8 +441,13 @@ int mutt_buffy_check (int force)
          {
            /* one new and undeleted message is enough */
            BuffyCount++;
+#if 0
+            /* we're checking for read and not new mail; 
+             * seems like copy'n'paste error
+             */
            tmp->has_new = tmp->new = 1;
-        tmp->msgcount++;
+#endif
+            tmp->msgcount++;
          }
        }
        closedir (dirp);