summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/libmail/imaphandler.cpp
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/mail2/libmail/imaphandler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/libmail/imaphandler.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/noncore/unsupported/mail2/libmail/imaphandler.cpp b/noncore/unsupported/mail2/libmail/imaphandler.cpp
index 66c92c5..730a004 100644
--- a/noncore/unsupported/mail2/libmail/imaphandler.cpp
+++ b/noncore/unsupported/mail2/libmail/imaphandler.cpp
@@ -2,12 +2,13 @@
#include "imaphandler.h"
#include "imapbase.h"
IMAPHandler::IMAPHandler(const Account &account)
: QObject(), _account(account)
{
+ _ready = false;
_loggingin = false;
_loggedin = false;
_tag = 0;
_ibase = new IMAPBase(account);
connect(_ibase, SIGNAL(dataReceived(const QString &)), SLOT(slotDataReceived(const QString &)));
@@ -286,12 +287,20 @@ QString IMAPHandler::tag(bool count)
{
return QString("a%1").arg(count ? _tag++ : _tag);
}
void IMAPHandler::slotDataReceived(const QString &data)
{
+ if (!_ready) {
+ // The first data is always the greeting string.
+ // We can ignore it.
+ _ready = true;
+ return;
+ }
+
+
IMAPResponseParser parser(data);
IMAPResponse response = parser.response();
response.setImapHandler(this);
if (!_loggingin) emit gotResponse(response);
else {