diff options
-rw-r--r-- | src/core/imap/MCIMAPSession.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/imap/MCIMAPSession.cc b/src/core/imap/MCIMAPSession.cc index d860d85c..88e50aa3 100644 --- a/src/core/imap/MCIMAPSession.cc +++ b/src/core/imap/MCIMAPSession.cc @@ -759,7 +759,12 @@ void IMAPSession::selectIfNeeded(String * folder, ErrorCode * pError) if (* pError != ErrorNone) return; - if (mState == STATE_LOGGEDIN) { + if (mState == STATE_SELECTED) { + if (mCurrentFolder != NULL && mCurrentFolder->caseInsensitiveCompare(folder) != 0) { + select(folder, pError); + } + } + else if (mState == STATE_LOGGEDIN) { select(folder, pError); } else { |