aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/imap/MCIMAPSession.cc7
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 {