Re: Delete sequences



On Tue, 2006-06-06 at 13:42 +0200, Philip Van Hoof wrote:
> On Tue, 2006-06-06 at 13:28 +0200, Florian Boor wrote:
> 
> > i just ran into a segfault deleting mails one after another (that means pressing
> > delete without changing the selection).
> > 
> > It looks like this is caused by dereferencing the header in
> > tny_list_iface_remove and using it afterwards - the attached patch just add some
> > sanity checks and changes the order of these operations. This seems to fix it
> > but i'm not really sure if this situation should occur at all.
> 
> I committed the patch. But we need to test this one more in depth

You might have seen  "camel-imap-provider-WARNING **: Unexpected FETCH
response from server: ()" on the console output.

The problem was that if you remove an e-mail from the folder from
another client (or another service), tinymail was out-of-sync. When now
tinymail asked camel for the message, camel returned NULL.

The underlying infrastructure of tinymail is secured for that, but the
ui layer on top of tinymail wasn't. By that I mean that the message view
widgets simply tried to view a "NULL" instance.

I've adapted the demo-ui to remove the header upon such deletion. Since
the demo-ui immediately removes and expunges the folder, that expunge
command caused a "real deletion" of "marked-for-deletion" messages.

So if you marked a message for deletion in Evolution, then pressed
delete in tinymail, and then clicked on the header of the in-Evolution
removed message, the issue got triggered.

The demo-ui will now upon clicking on the header of the in-Evolution
removed message, remove the header from the view and tinymail memory. As
the message is, in reality, non-existent.

ps. A "expunge-folder" menu-item would have refreshed the header view
and wouldn't have shown this issue.

Thanks for the report Florian, life saver.


-- 
Philip Van Hoof, software developer at x-tend 
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
work: vanhoof at x-tend dot be 
http://www.pvanhoof.be - http://www.x-tend.be




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