aboutsummaryrefslogtreecommitdiffstats
path: root/src/messaging/POP3Message.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/messaging/POP3Message.cpp')
-rw-r--r--src/messaging/POP3Message.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/messaging/POP3Message.cpp b/src/messaging/POP3Message.cpp
index 633f9491..d9ef2989 100644
--- a/src/messaging/POP3Message.cpp
+++ b/src/messaging/POP3Message.cpp
@@ -29,7 +29,7 @@ namespace messaging {
POP3Message::POP3Message(POP3Folder* folder, const int num)
- : m_folder(folder), m_num(num), m_header(NULL)
+ : m_folder(folder), m_num(num), m_size(-1), m_header(NULL)
{
m_folder->registerMessage(this);
}
@@ -64,13 +64,10 @@ const message::uid POP3Message::getUniqueId() const
const int POP3Message::getSize() const
{
- if (!m_folder)
- throw exceptions::illegal_state("Folder closed");
-
- POP3Folder::MessageMap::const_iterator it =
- m_folder->m_messages.find(const_cast <POP3Message*>(this));
+ if (m_size == -1)
+ throw exceptions::unfetched_object();
- return ((it != m_folder->m_messages.end()) ? (*it).second : 0);
+ return (m_size);
}