diff options
author | Vincent Richard <[email protected]> | 2004-12-19 14:14:02 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2004-12-19 14:14:02 +0000 |
commit | 68e51fe26265ec286be8369dfd945b6ac30b822e (patch) | |
tree | a3dd16111ddbecc181abebb2a2022f40fea2b952 | |
parent | Fixed warning when compiling. (diff) | |
download | vmime-68e51fe26265ec286be8369dfd945b6ac30b822e.tar.gz vmime-68e51fe26265ec286be8369dfd945b6ac30b822e.zip |
Do not use std::remove() for removing elements from std::vector...
-rw-r--r-- | src/messaging/IMAPFolder.cpp | 6 | ||||
-rw-r--r-- | src/messaging/maildirFolder.cpp | 6 |
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); } |