I've been investigating this bug for about 3 hours now.  It appears that
sometime the header cache stores the "pair" value in the HEADER struct.  So
when the cache is reloaded, it fills it in and trusts it, even if that's not
the colour its supposed to be.

I don't know what's causing the records to be written out like that, but it's
not right.  I've attached a trivial patch that prevents the problem from
occuring, but it doesn't get at the root of the issue.  I don't know mutt well
enough to figure that out, so it'll have to go upstream or something.  Note,
this patch isn't well tested, but it compiles and doesn't break anything
obvious.

As a workaround, you can delete the header cache for the mailbox in question
(if you're using header cache folders).

Cheers,

-- 
Eric Gerlach, Network Administrator
Federation of Students
University of Waterloo
p: (519) 888-4567 x36329
e: egerl...@feds.uwaterloo.ca
--- hcache.c.old	2010-01-26 20:53:40.000000000 -0500
+++ hcache.c	2010-01-26 20:54:13.000000000 -0500
@@ -676,6 +676,8 @@
     mutt_free_header(oh);
   }
 
+  h->pair = 0;
+
   return h;
 }
 

Reply via email to