From 0082696cc1b6748a3e106fdfa3bbcf4acceff9df Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Wed, 15 Mar 2000 07:05:17 +0000 Subject: [PATCH] fix for bug #31904. couple the identity and the server the the account before setting any values on the identity. git-svn-id: svn://10.0.0.236/trunk@63021 18797224-902f-48f8-a5cc-f745e15eee43 --- .../mailnews/base/src/nsMessengerMigrator.cpp | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/mozilla/mailnews/base/src/nsMessengerMigrator.cpp b/mozilla/mailnews/base/src/nsMessengerMigrator.cpp index 177709e705f..7170116da98 100644 --- a/mozilla/mailnews/base/src/nsMessengerMigrator.cpp +++ b/mozilla/mailnews/base/src/nsMessengerMigrator.cpp @@ -522,7 +522,7 @@ nsMessengerMigrator::CreateLocalMailAccount(PRBool migrating) nsAutoString localMailFakeHostName(LOCAL_MAIL_FAKE_HOST_NAME); server->SetPrettyName(localMailFakeHostName.ToNewUnicode()); - // hook them together + // notice, no identity for local mail account->SetIncomingServer(server); nsCOMPtr noServer; @@ -1074,6 +1074,7 @@ nsMessengerMigrator::MigrateLocalMailAccount() "none", getter_AddRefs(server)); if (NS_FAILED(rv)) return rv; + // notice, no identity for local mail rv = account->SetIncomingServer(server); if (NS_FAILED(rv)) return rv; @@ -1169,6 +1170,10 @@ nsMessengerMigrator::MigrateMovemailAccount(nsIMsgIdentity *identity) rv = accountManager->CreateIdentity(getter_AddRefs(copied_identity)); if (NS_FAILED(rv)) return rv; + // hook them together early, see bug #31904 + account->SetIncomingServer(server); + account->AddIdentity(copied_identity); + // make this new identity to copy of the identity // that we created out of the 4.x prefs rv = CopyIdentity(identity,copied_identity); @@ -1178,10 +1183,6 @@ nsMessengerMigrator::MigrateMovemailAccount(nsIMsgIdentity *identity) // the cc and fcc values rv = SetMailCopiesAndFolders(copied_identity, (const char *)username, MOVEMAIL_FAKE_HOST_NAME); if (NS_FAILED(rv)) return rv; - - // hook them together - account->SetIncomingServer(server); - account->AddIdentity(copied_identity); // now upgrade all the prefs nsCOMPtr mailDir; @@ -1296,6 +1297,10 @@ nsMessengerMigrator::MigratePopAccount(nsIMsgIdentity *identity) rv = accountManager->CreateIdentity(getter_AddRefs(copied_identity)); if (NS_FAILED(rv)) return rv; + // hook them together early, see bug #31904 + account->SetIncomingServer(server); + account->AddIdentity(copied_identity); + // make this new identity to copy of the identity // that we created out of the 4.x prefs rv = CopyIdentity(identity,copied_identity); @@ -1303,10 +1308,6 @@ nsMessengerMigrator::MigratePopAccount(nsIMsgIdentity *identity) rv = SetMailCopiesAndFolders(copied_identity, (const char *)username, (const char *)hostname); if (NS_FAILED(rv)) return rv; - - // hook them together - account->SetIncomingServer(server); - account->AddIdentity(copied_identity); // now upgrade all the prefs nsCOMPtr mailDir; @@ -1549,6 +1550,11 @@ nsMessengerMigrator::MigrateImapAccount(nsIMsgIdentity *identity, const char *ho rv = accountManager->CreateIdentity(getter_AddRefs(copied_identity)); if (NS_FAILED(rv)) return rv; + // hook them together early, see bug #31904 + account->SetIncomingServer(server); + account->AddIdentity(copied_identity); + + // make this new identity to copy of the identity // that we created out of the 4.x prefs rv = CopyIdentity(identity,copied_identity); @@ -1557,10 +1563,6 @@ nsMessengerMigrator::MigrateImapAccount(nsIMsgIdentity *identity, const char *ho rv = SetMailCopiesAndFolders(copied_identity, (const char *)username, (const char *)hostname); if (NS_FAILED(rv)) return rv; - // hook them together - account->SetIncomingServer(server); - account->AddIdentity(copied_identity); - // now upgrade all the prefs rv = MigrateOldImapPrefs(server, hostAndPort); @@ -1951,6 +1953,10 @@ nsMessengerMigrator::MigrateNewsAccount(nsIMsgIdentity *identity, const char *ho rv = accountManager->CreateIdentity(getter_AddRefs(copied_identity)); if (NS_FAILED(rv)) return rv; + // hook them together early, see bug #31904 + account->SetIncomingServer(server); + account->AddIdentity(copied_identity); + // make this new identity to copy of the identity // that we created out of the 4.x prefs rv = CopyIdentity(identity,copied_identity); @@ -1958,10 +1964,6 @@ nsMessengerMigrator::MigrateNewsAccount(nsIMsgIdentity *identity, const char *ho rv = SetNewsCopiesAndFolders(copied_identity); if (NS_FAILED(rv)) return rv; - - // hook them together - account->SetIncomingServer(server); - account->AddIdentity(copied_identity); #ifdef DEBUG_MIGRATOR printf("migrate old nntp prefs\n");