Check for NULL pointers. CID 1589 and 1590.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38107 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini 2010-08-15 09:42:53 +00:00
parent 756ea297c2
commit 0f72bf29fe

View File

@ -154,30 +154,28 @@ AutoConfigWindow::QuitRequested(void)
Account*
AutoConfigWindow::GenerateBasicAccount()
{
if(!fAccount){
if(!fAccount) {
fAccount = Accounts::NewAccount();
fAccount->SetType(fAccountInfo.type);
fAccount->SetName(fAccountInfo.accountName.String());
fAccount->SetRealName(fAccountInfo.name.String());
fAccount->SetReturnAddress(fAccountInfo.email.String());
BMailChain *inbound = fAccount->Inbound();
BString inServerName;
int32 authType = 0;
int32 ssl = 0;
if (fAccountInfo.inboundType == IMAP) {
inServerName = fAccountInfo.providerInfo.imap_server;
ssl = fAccountInfo.providerInfo.ssl_imap;
}
else {
} else {
inServerName = fAccountInfo.providerInfo.pop_server;
authType = fAccountInfo.providerInfo.authentification_pop;
ssl = fAccountInfo.providerInfo.ssl_pop;
}
if (fAccountInfo.type == INBOUND_TYPE
|| fAccountInfo.type == IN_AND_OUTBOUND_TYPE)
{
|| fAccountInfo.type == IN_AND_OUTBOUND_TYPE) {
BMailChain *inbound = fAccount->Inbound();
if (inbound != NULL) {
BMessage inboundArchive;
inboundArchive.AddString("server", inServerName);
inboundArchive.AddInt32("auth_method", authType);
@ -188,11 +186,12 @@ AutoConfigWindow::GenerateBasicAccount()
inboundArchive.AddBool("delete_remote_when_local", true);
inbound->SetFilter(0, inboundArchive, fAccountInfo.inboundProtocol);
}
}
if (fAccountInfo.type == OUTBOUND_TYPE
|| fAccountInfo.type == IN_AND_OUTBOUND_TYPE)
{
|| fAccountInfo.type == IN_AND_OUTBOUND_TYPE) {
BMailChain *outbound = fAccount->Outbound();
if (outbound != NULL) {
BMessage outboundArchive;
outboundArchive.AddString("server",
fAccountInfo.providerInfo.smtp_server);
@ -205,5 +204,6 @@ AutoConfigWindow::GenerateBasicAccount()
fAccountInfo.outboundProtocol);
}
}
}
return fAccount;
}