From 68e51fe26265ec286be8369dfd945b6ac30b822e Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Sun, 19 Dec 2004 14:14:02 +0000 Subject: [PATCH] Do not use std::remove() for removing elements from std::vector... --- src/messaging/IMAPFolder.cpp | 6 +++++- 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 ::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 ::iterator it = + std::find(m_messages.begin(), m_messages.end(), msg); + + if (it != m_messages.end()) + m_messages.erase(it); }