[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim-runtime] resources/imap: in onLoginDone(), deal properly with m_account being 0 when creatin
From:       Allen Winter <winter () kde ! org>
Date:       2012-01-19 23:42:34
Message-ID: 20120119234234.85870A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit 4356294397f197007cc054c03b638be024cddb79 by Allen Winter.
Committed on 20/01/2012 at 00:40.
Pushed by winterz into branch 'master'.

in onLoginDone(), deal properly with m_account being 0 when creating
the cancel sesssion creation message.

BUG: 291964
FIXED-IN: 4.8.1
MERGE: 4.8 (But carefully, since we need to be clever about a new string)

M  +12   -4    resources/imap/sessionpool.cpp

http://commits.kde.org/kdepim-runtime/4356294397f197007cc054c03b638be024cddb79

diff --git a/resources/imap/sessionpool.cpp b/resources/imap/sessionpool.cpp
index 73d89de..65742b8 100644
--- a/resources/imap/sessionpool.cpp
+++ b/resources/imap/sessionpool.cpp
@@ -353,10 +353,18 @@ void SessionPool::onLoginDone( KJob *job )
     }
   } else {
     if ( job->error() == KIMAP::LoginJob::ERR_COULD_NOT_CONNECT ) {
-      cancelSessionCreation( login->session(),
-                             CouldNotConnectError,
-                             i18n( "Could not connect to the IMAP-server %1.\n%2",
-                                   m_account->server(), job->errorString() ) );
+      if ( m_account ) {
+        cancelSessionCreation( login->session(),
+                               CouldNotConnectError,
+                               i18n( "Could not connect to the IMAP-server %1.\n%2",
+                                     m_account->server(), job->errorString() ) );
+      } else {
+        // Can happen when we loose all ready connections while trying to login.
+        cancelSessionCreation( login->session(),
+                               CouldNotConnectError,
+                               i18n( "Could not connect to the IMAP-server.\n%1",
+                                     job->errorString() ) );
+      }
     } else {
       // Connection worked, but login failed -> ask for a different password or ssl settings.
       m_pendingInitialSession = login->session();
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic