MaildirMessageCache virtual calls (Was: C++/stl_deque problem)
Jerry Lundström <[email protected]> Mon, 11 Jul 2005 14:24:38 +0200
| Newsgroups | gmane.mail.imap.binc.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--------------080908010408010902010709
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Jerry Lundström wrote:
> #5 0x4009d1d8 in __cxa_pure_virtual () at
> ../../../../libstdc++-v3/libsupc++/pure.cc:50
> #6 0x080731f9 in Binc::MaildirMessageCache::clear (this=0x8084860) at
> stl_deque.h:128
Nm found it and here is a small patch.
--
Jerry Lundström
Sektionen för IT och media, Stockholms universitet
+46 (0)8 16 19 99 / http://www.it.su.se
--------------080908010408010902010709
Content-Type: text/plain;
name="bincimap-1.3.4-maildirmessage.cc-pure_virtual_calls.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="bincimap-1.3.4-maildirmessage.cc-pure_virtual_calls.patch"
Index: maildirmessage.cc
===================================================================
--- maildirmessage.cc (revision 327)
+++ maildirmessage.cc (working copy)
@@ -436,6 +436,13 @@
//------------------------------------------------------------------------
MaildirMessage::~MaildirMessage(void)
{
+ close();
+
+ // Remove from cache otherwise MaildirMessageCache can call on
+ // non existing MaildirMessage objects.
+ MaildirMessageCache &cache = MaildirMessageCache::getInstance();
+ cache.removeStatus(this);
+
delete customFlags;
}
--------------080908010408010902010709--