rem: if (accountData.smtpCreateNewServer) smtpServer = smtpService.createSmtpServer(); 
add: if (accountData.smtp.hostname != null) smtpServer = smtpService.createSmtpServer(); 
context: function finishAccount(account, accountData) {    if (accountData.incomingServer) {        var destServer = account.incomingServer;        var srcServer = accountData.incomingServer;        copyObjectToInterface(destServer, srcServer);        // see if there are any protocol-specific attributes        // if so, we use the type to get the IID, QueryInterface        // as appropriate, then copy the data over        dump("srcServer.ServerType-" + srcServer.type + " = " +             srcServer["ServerType-" + srcServer.type] + "\n");        if (srcServer["ServerType-" + srcServer.type]) {            // handle server-specific stuff            var IID = getInterfaceForType(srcServer.type);            if (IID) {                destProtocolServer = destServer.QueryInterface(IID);                srcProtocolServer = srcServer["ServerType-" + srcServer.type];                dump("Copying over " + srcServer.type + "-specific data\n");                copyObjectToInterface(destProtocolServer, srcProtocolServer);            }        }        account.incomingServer.valid=true;    }    // copy identity info    var destIdentity =        account.identities.QueryElementAt(0, nsIMsgIdentity);        if (accountData.identity && destIdentity) {        // fixup the email address if we have a default domain        var emailArray = accountData.identity.email.split('@');        if (emailArray.length < 2 && accountData.domain) {            accountData.identity.email += '@' + accountData.domain;        }        copyObjectToInterface(destIdentity,                              accountData.identity);        destIdentity.valid=true;    }    /**     * If signature file need to be set, get the path to the signature file.     * Signature files, if exist, are placed under default location. Get     * default files location for messenger using directory service. Signature      * file name should be extracted from the account data to build the complete     * path for signature file. Once the path is built, set the identity's signature pref.     */    if (destIdentity.attachSignature)    {        var sigFileName = accountData.signatureFileName;              var sigFile = gMailSession.getDataFilesDir("messenger");        sigFile.appendUnicode(sigFileName);        destIdentity.signature = sigFile;    }    // don't try to create an smtp server if we already have one.    if (!destIdentity.smtpServerKey)    {        var smtpServer;                /**         * Create a new smtp server if needed. If smtpCreateNewServer pref         * is set then createSmtpServer routine() will create one. Otherwise,         * default server is returned which is also set to create a new smtp server         * (via GetDefaultServer()) if no default server is found.         */        if (accountData.smtpCreateNewServer)            smtpServer = smtpService.createSmtpServer();        else            smtpServer = smtpService.defaultServer;        dump("Copying smtpServer (" + smtpServer + ") to accountData\n");        copyObjectToInterface(smtpServer, accountData.smtp);        // some identities have 'preferred'         if (accountData.smtpUsePreferredServer && destIdentity)            destIdentity.smtpServerKey = smtpServer.key;     }     if (this.FinishAccountHook != undefined) {         FinishAccountHook(accountData.domain);     }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/13365990b3d1948726ae5e7516aa908522199353/AccountWizard.js/clean/mailnews/base/prefs/resources/content/AccountWizard.js