Re: [Evolution-hackers] EDS: Trying to implement expunge function in camel-spool-folder.c



On Mon, 2007-06-25 at 23:05 +0100, Seb James wrote:
> On Mon, 2007-06-25 at 14:25 +0100, Seb James wrote:
> > Hi Jeffrey,
> > 
> > On Mon, 2007-06-25 at 08:59 -0400, Jeffrey Stedfast wrote:
> > > On Sun, 2007-06-24 at 23:24 +0100, Seb James wrote:
> > [snip]
> > > from your description, it sounds like you tried to Empty the "Local
> > > Folders" Trash folder instead of the Trash folder attached to your
> > > "spool".
> > 
> > Yes, that's what I think has happened.
> > 
> > > You should also note that since the Trash folder is a virtual folder,
> > > unless both of the following conditions are met, you might not get an
> > > expunge call on the spool folder:
> > 
> > Useful to know that trash is virtual. That will help me I think. I can
> > look at the logic that the vTrash folder goes through to select expunges
> > and syncs to call.
> 
> Ok, now that I am debugging the right code... Yes, the expunge function
> registered for the Trash folder is vee_expunge in camel-vee-folder.c.
> vee_expunge has one line:
> 
> ((CamelFolderClass *)((CamelObject *)folder)->klass)->sync(folder, TRUE,
> ex);
> 
> So, it calls the sync function. Correct me if I'm wrong, but it looks
> like any folder which is to implement message expunging when the user
> clicks "Empty Trash" needs to implement the _sync_ function in such as
> way that deleted messages really can be expunged. Writing an mbox or
> spool expunge function won't work as it won't get called via a vTrash
> folder expunge.

sounds correct, yes.

Jeff





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