Diffstat (limited to 'noncore/unsupported/mail2/libmail') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/mail2/libmail/imaphandler.cpp | 9 | ||||
-rw-r--r-- | noncore/unsupported/mail2/libmail/imaphandler.h | 2 |
2 files changed, 10 insertions, 1 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 @@ | |||
2 | #include "imaphandler.h" | 2 | #include "imaphandler.h" |
3 | #include "imapbase.h" | 3 | #include "imapbase.h" |
4 | 4 | ||
5 | IMAPHandler::IMAPHandler(const Account &account) | 5 | IMAPHandler::IMAPHandler(const Account &account) |
6 | : QObject(), _account(account) | 6 | : QObject(), _account(account) |
7 | { | 7 | { |
8 | _ready = false; | ||
8 | _loggingin = false; | 9 | _loggingin = false; |
9 | _loggedin = false; | 10 | _loggedin = false; |
10 | _tag = 0; | 11 | _tag = 0; |
11 | _ibase = new IMAPBase(account); | 12 | _ibase = new IMAPBase(account); |
12 | 13 | ||
13 | connect(_ibase, SIGNAL(dataReceived(const QString &)), SLOT(slotDataReceived(const QString &))); | 14 | connect(_ibase, SIGNAL(dataReceived(const QString &)), SLOT(slotDataReceived(const QString &))); |
@@ -286,12 +287,20 @@ QString IMAPHandler::tag(bool count) | |||
286 | { | 287 | { |
287 | return QString("a%1").arg(count ? _tag++ : _tag); | 288 | return QString("a%1").arg(count ? _tag++ : _tag); |
288 | } | 289 | } |
289 | 290 | ||
290 | void IMAPHandler::slotDataReceived(const QString &data) | 291 | void IMAPHandler::slotDataReceived(const QString &data) |
291 | { | 292 | { |
293 | if (!_ready) { | ||
294 | // The first data is always the greeting string. | ||
295 | // We can ignore it. | ||
296 | _ready = true; | ||
297 | return; | ||
298 | } | ||
299 | |||
300 | |||
292 | IMAPResponseParser parser(data); | 301 | IMAPResponseParser parser(data); |
293 | IMAPResponse response = parser.response(); | 302 | IMAPResponse response = parser.response(); |
294 | response.setImapHandler(this); | 303 | response.setImapHandler(this); |
295 | 304 | ||
296 | if (!_loggingin) emit gotResponse(response); | 305 | if (!_loggingin) emit gotResponse(response); |
297 | else { | 306 | else { |
diff --git a/noncore/unsupported/mail2/libmail/imaphandler.h b/noncore/unsupported/mail2/libmail/imaphandler.h index 8cb42db..cc47a85 100644 --- a/noncore/unsupported/mail2/libmail/imaphandler.h +++ b/noncore/unsupported/mail2/libmail/imaphandler.h | |||
@@ -76,11 +76,11 @@ protected slots: | |||
76 | void slotError(int err); | 76 | void slotError(int err); |
77 | 77 | ||
78 | private: | 78 | private: |
79 | Account _account; | 79 | Account _account; |
80 | IMAPBase *_ibase; | 80 | IMAPBase *_ibase; |
81 | unsigned int _tag; | 81 | unsigned int _tag; |
82 | bool _loggingin, _loggedin; | 82 | bool _ready, _loggingin, _loggedin; |
83 | 83 | ||
84 | }; | 84 | }; |
85 | 85 | ||
86 | #endif | 86 | #endif |