aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/messaging/IMAPFolder.cpp6
-rw-r--r--src/messaging/maildirFolder.cpp6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/messaging/IMAPFolder.cpp b/src/messaging/IMAPFolder.cpp
index 0cbb860a..8d1b9a8e 100644
--- a/src/messaging/IMAPFolder.cpp
+++ b/src/messaging/IMAPFolder.cpp
@@ -662,7 +662,11 @@ void IMAPFolder::registerMessage(IMAPMessage* msg)
void IMAPFolder::unregisterMessage(IMAPMessage* msg)
{
- std::remove(m_messages.begin(), m_messages.end(), msg);
+ std::vector <IMAPMessage*>::iterator it =
+ std::find(m_messages.begin(), m_messages.end(), msg);
+
+ if (it != m_messages.end())
+ m_messages.erase(it);
}
diff --git a/src/messaging/maildirFolder.cpp b/src/messaging/maildirFolder.cpp
index 7ce56623..4bf1fcfb 100644
--- a/src/messaging/maildirFolder.cpp
+++ b/src/messaging/maildirFolder.cpp
@@ -168,7 +168,11 @@ void maildirFolder::registerMessage(maildirMessage* msg)
void maildirFolder::unregisterMessage(maildirMessage* msg)
{
- std::remove(m_messages.begin(), m_messages.end(), msg);
+ std::vector <maildirMessage*>::iterator it =
+ std::find(m_messages.begin(), m_messages.end(), msg);
+
+ if (it != m_messages.end())
+ m_messages.erase(it);
}