CVS broken (sorry...)



Hi guys,

I'm sorry to say that I have broken CVS balsa, unfortunately when loading
a local mailbox from config it doesn't detect the type properly, and so
defaults to something other than mbox (whatever is first in the
LibBalsaMailboxLocalType enum). It basically prevents you from reading
messages in your inbox if it is an mbox style mailbox. (it doesn't affect
mailboxes created by scanning the tree under you maildir - which is why I
didn't notice until after my net access became non-free..)

I'll commit a fix when I get home, but in the mean time, you can simply
add some code to libbalsa_mailbox_local_load_config which is similar to
the switch statement in libbalsa_mailbox_ocal_new but initialises the type
field directly. Something like: 

libbalsa_lock_mutt();

switch ( mx_get_magic(path) ) { 
case M_MBOX:
case M_MMDF: 
	local->type = LIBBALSA_MAILBOX_LOCAL_MBOX;
	break;
case M_MH: 
	local->type = LIBBALSA_MAILBOX_LOCAL_MH;
	break; 
case M_MAILDIR:
	local->type = LIBBALSA_MAILBOX_LOCAL_MAILDIR;
	break;
default:
	local->type = LIBBALSA_MAILBOX_LOCAL_MBOX;
}

libbalsa_unlock_mutt();

Add this just after the gnome_config_get_string("Path") in
libbalsaMailbox_local_load_config.

As a slight aside, I am thinking about subclassing LibBalsaMailboxLocal
into LibBalsaMailboxMbox LibBalsaMailboxMaildir etc. I think this will
clean up some of code, as well as making it more obvious in balsa which
kind of mailbox you are creating (by making them separate options in the
new mailbox window..)

Again, sorry for the fuck up, I should test better before commiting.

Ian.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]