mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-25 18:07:31 +09:00
Bug 342632 - Allow defaultAccount to return success with nullptr result when there is no usable account.
Tag #1273
This commit is contained in:
parent
07b587d4ed
commit
af2693fe73
11 changed files with 121 additions and 101 deletions
|
|
@ -704,7 +704,7 @@ function onSetDefault(event) {
|
|||
if (event.target.getAttribute("disabled") == "true")
|
||||
return;
|
||||
|
||||
let previousDefault = getDefaultAccount();
|
||||
let previousDefault = MailServices.accounts.defaultAccount;
|
||||
MailServices.accounts.defaultAccount = currentAccount;
|
||||
markDefaultServer(currentAccount, previousDefault);
|
||||
|
||||
|
|
@ -771,7 +771,7 @@ function onRemoveAccount(event) {
|
|||
// Either the default account was deleted so there is a new one
|
||||
// or the default account was not changed. Either way, there is
|
||||
// no need to unmark the old one.
|
||||
markDefaultServer(getDefaultAccount(), null);
|
||||
markDefaultServer(MailServices.accounts.defaultAccount, null);
|
||||
}
|
||||
|
||||
function saveAccount(accountValues, account)
|
||||
|
|
@ -928,7 +928,7 @@ function updateItems(tree, account, addAccountItem, setDefaultItem, removeItem)
|
|||
// problem. Either way, we don't want the user to act on it.
|
||||
let server = account.incomingServer;
|
||||
|
||||
if (account != getDefaultAccount() &&
|
||||
if (account != MailServices.accounts.defaultAccount &&
|
||||
server.canBeDefaultServer && account.identities.length > 0)
|
||||
canSetDefault = true;
|
||||
|
||||
|
|
@ -1378,18 +1378,6 @@ function getCurrentAccount()
|
|||
return currentAccount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default account without throwing exception if there is none.
|
||||
* The account manager can be opened even if there are no account yet.
|
||||
*/
|
||||
function getDefaultAccount() {
|
||||
try {
|
||||
return MailServices.accounts.defaultAccount;
|
||||
} catch (e) {
|
||||
return null; // No default account yet.
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the array of persisted form elements for the given page.
|
||||
*/
|
||||
|
|
@ -1605,7 +1593,7 @@ var gAccountTree = {
|
|||
treeitem._account = account;
|
||||
}
|
||||
|
||||
markDefaultServer(getDefaultAccount(), null);
|
||||
markDefaultServer(MailServices.accounts.defaultAccount, null);
|
||||
|
||||
// Now add the outgoing server node.
|
||||
var treeitem = document.createElement("treeitem");
|
||||
|
|
|
|||
|
|
@ -53,7 +53,9 @@ var gPrefsBundle, gMessengerBundle;
|
|||
// the current nsIMsgAccount
|
||||
var gCurrentAccount;
|
||||
|
||||
// default account
|
||||
// The default account before we create a new account.
|
||||
// We need to store this as just asking for the default account may switch
|
||||
// it to the newly created one if there was none before.
|
||||
var gDefaultAccount;
|
||||
|
||||
// the current associative array that
|
||||
|
|
@ -85,14 +87,9 @@ function onAccountWizardLoad() {
|
|||
|
||||
checkForInvalidAccounts();
|
||||
|
||||
try {
|
||||
gDefaultAccount = MailServices.accounts.defaultAccount;
|
||||
}
|
||||
catch (ex) {
|
||||
// no default account, this is expected the first time you launch mail
|
||||
// on a new profile
|
||||
gDefaultAccount = null;
|
||||
}
|
||||
// It is fine if there is no default account, this is expected the first
|
||||
// time you launch mail on a new profile.
|
||||
gDefaultAccount = MailServices.accounts.defaultAccount;
|
||||
|
||||
// Set default value for global inbox checkbox
|
||||
var checkGlobalInbox = document.getElementById("deferStorage");
|
||||
|
|
@ -799,8 +796,7 @@ function getPreConfigDataForAccount(account)
|
|||
|
||||
function AccountToAccountData(account, defaultAccountData)
|
||||
{
|
||||
dump("AccountToAccountData(" + account + ", " +
|
||||
defaultAccountData + ")\n");
|
||||
dump("AccountToAccountData(" + account + ", " + defaultAccountData + ")\n");
|
||||
var accountData = defaultAccountData;
|
||||
if (!accountData)
|
||||
accountData = new Object;
|
||||
|
|
@ -966,10 +962,10 @@ function onFlush() {
|
|||
*/
|
||||
function EnableCheckMailAtStartUpIfNeeded(newAccount)
|
||||
{
|
||||
// Check if default account exists and if that account is alllowed to be
|
||||
// a default account. If no such account, make this one as the default account
|
||||
// Check if default account existed.
|
||||
// If no such account, make this one the default account
|
||||
// and turn on the new mail check at startup for the current account
|
||||
if (!(gDefaultAccount && gDefaultAccount.incomingServer.canBeDefaultServer)) {
|
||||
if (!gDefaultAccount) {
|
||||
MailServices.accounts.defaultAccount = newAccount;
|
||||
newAccount.incomingServer.loginAtStartUp = true;
|
||||
newAccount.incomingServer.downloadOnBiff = true;
|
||||
|
|
@ -981,7 +977,7 @@ function SetSmtpRequiresUsernameAttribute(accountData)
|
|||
// If this is the default server, time to set the smtp user name
|
||||
// Set the generic attribute for requiring user name for smtp to true.
|
||||
// ISPs can override the pref via rdf files.
|
||||
if (!(gDefaultAccount && gDefaultAccount.incomingServer.canBeDefaultServer)) {
|
||||
if (!gDefaultAccount) {
|
||||
accountData.smtpRequiresUsername = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue