From ce26ba85b9c60624ddf08f9318e49cd51df3a721 Mon Sep 17 00:00:00 2001 From: "alecf%netscape.com" Date: Sun, 19 Sep 1999 23:33:49 +0000 Subject: [PATCH] be a little smarter about SMTP servers - create the default one on demand --- mailnews/compose/src/nsSmtpService.cpp | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/mailnews/compose/src/nsSmtpService.cpp b/mailnews/compose/src/nsSmtpService.cpp index 6e9e93c5a2cb..89eda9f07df9 100644 --- a/mailnews/compose/src/nsSmtpService.cpp +++ b/mailnews/compose/src/nsSmtpService.cpp @@ -330,18 +330,17 @@ nsSmtpService::GetDefaultSmtpServer(nsISmtpServer **aServer) *aServer = nsnull; // always returns NS_OK, just leaving *aServer at nsnull if (!mDefaultSmtpServer) { - nsCOMPtr enumerator; - rv = mSmtpServers->Enumerate(getter_AddRefs(enumerator)); - if (NS_FAILED(rv)) return NS_OK; - - rv = enumerator->First(); - if (NS_FAILED(rv)) return NS_OK; - - nsCOMPtr curItem; - rv = enumerator->CurrentItem(getter_AddRefs(curItem)); - if (NS_FAILED(rv)) return NS_OK; - - mDefaultSmtpServer = do_QueryInterface(curItem); + PRUint32 count; + rv = mSmtpServers->Count(&count); + if (count == 0) { + rv = CreateSmtpServer(getter_AddRefs(mDefaultSmtpServer)); + if (NS_FAILED(rv)) return rv; + } else { + nsCOMPtr supports; + rv = mSmtpServers->GetElementAt(0, getter_AddRefs(supports)); + if (NS_FAILED(rv)) return rv; + mDefaultSmtpServer = do_QueryInterface(supports); + } } // XXX still need to make sure the default SMTP server is