summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Sanders <don.sanders@nokia.com>2011-06-07 14:58:50 +0300
committerDon Sanders <don.sanders@nokia.com>2011-06-07 14:58:50 +0300
commita540e24ae40a2233c2bcc2c7dcdb81c45ddd9d05 (patch)
tree295979a5c3072f3592f941cb5adbf4f8368341cb
parent00ab90b1c58f655fa33b487c7ed1a634c84a1a41 (diff)
Fix a regression with imap/pop services not adapting to account changes.
-rw-r--r--src/plugins/messageservices/imap/imapclient.cpp4
-rw-r--r--src/plugins/messageservices/imap/imapstrategy.cpp3
-rw-r--r--src/plugins/messageservices/pop/popclient.cpp8
3 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/messageservices/imap/imapclient.cpp b/src/plugins/messageservices/imap/imapclient.cpp
index 58a87d9f..9450430a 100644
--- a/src/plugins/messageservices/imap/imapclient.cpp
+++ b/src/plugins/messageservices/imap/imapclient.cpp
@@ -485,11 +485,11 @@ ImapClient::~ImapClient()
// Called to begin executing a strategy
void ImapClient::newConnection()
{
+ // Reload the account configuration
+ _config = QMailAccountConfiguration(_config.id());
if (_protocol.loggingOut())
_protocol.close();
if (!_protocol.inUse()) {
- // Reload the account configuration
- _config = QMailAccountConfiguration(_config.id());
_qresyncEnabled = false;
}
if (_requestRapidClose && !_inactiveTimer.isActive())
diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp
index f819afc6..43205afc 100644
--- a/src/plugins/messageservices/imap/imapstrategy.cpp
+++ b/src/plugins/messageservices/imap/imapstrategy.cpp
@@ -1468,10 +1468,11 @@ void ImapFetchSelectedMessagesStrategy::setOperation(
ImapStrategyContextBase *context,
QMailRetrievalAction::RetrievalSpecification spec)
{
+ QMailAccountConfiguration accountCfg(context->config().id());
+ ImapConfiguration imapCfg(accountCfg);
switch (spec) {
case QMailRetrievalAction::Auto:
{
- ImapConfiguration imapCfg(context->config());
if (imapCfg.isAutoDownload()) {
// Just download everything
_headerLimit = UINT_MAX;
diff --git a/src/plugins/messageservices/pop/popclient.cpp b/src/plugins/messageservices/pop/popclient.cpp
index 6042e59b..733daaa7 100644
--- a/src/plugins/messageservices/pop/popclient.cpp
+++ b/src/plugins/messageservices/pop/popclient.cpp
@@ -122,10 +122,9 @@ void PopClient::newConnection()
status = Exit;
closeConnection();
}
- } else {
- // Re-load the configuration for this account
- config = QMailAccountConfiguration(config.id());
}
+ // Re-load the configuration for this account
+ config = QMailAccountConfiguration(config.id());
PopConfiguration popCfg(config);
if ( popCfg.mailServer().isEmpty() ) {
@@ -199,7 +198,8 @@ void PopClient::setOperation(QMailRetrievalAction::RetrievalSpecification spec)
switch (spec) {
case QMailRetrievalAction::Auto:
{
- PopConfiguration popCfg(config);
+ // Re-load the configuration for this account
+ PopConfiguration popCfg(QMailAccountConfiguration(config.id()));
if (popCfg.isAutoDownload()) {
// Just download everything