зеркало из https://github.com/mozilla/gecko-dev.git
fix 4x ab migration when pab doesn't have a filename set, r/sr=mscott 224714
This commit is contained in:
Родитель
2db0f84c5e
Коммит
ba1a789bef
|
@ -183,6 +183,8 @@ static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID);
|
||||||
#define DEFAULT_DRAFT_FOLDER_PREF_NAME "mail.identity.default.draft_folder"
|
#define DEFAULT_DRAFT_FOLDER_PREF_NAME "mail.identity.default.draft_folder"
|
||||||
#define DEFAULT_STATIONERY_FOLDER_PREF_NAME "mail.identity.default.stationery_folder"
|
#define DEFAULT_STATIONERY_FOLDER_PREF_NAME "mail.identity.default.stationery_folder"
|
||||||
|
|
||||||
|
#define DEFAULT_PAB_FILENAME_PREF_NAME "ldap_2.servers.pab.filename"
|
||||||
|
|
||||||
// this is for the hidden preference setting in mozilla/modules/libpref/src/init/mailnews.js
|
// this is for the hidden preference setting in mozilla/modules/libpref/src/init/mailnews.js
|
||||||
// pref("mail.migration.copyMailFiles", true);
|
// pref("mail.migration.copyMailFiles", true);
|
||||||
//
|
//
|
||||||
|
@ -1922,10 +1924,21 @@ nsMessengerMigrator::migrateAddressBookPrefEnum(const char *aPref, void *aClosur
|
||||||
#ifdef DEBUG_AB_MIGRATION
|
#ifdef DEBUG_AB_MIGRATION
|
||||||
printf("investigate pref: %s\n",aPref);
|
printf("investigate pref: %s\n",aPref);
|
||||||
#endif
|
#endif
|
||||||
|
nsXPIDLCString abFileName;
|
||||||
|
if (!strncmp(aPref, "ldap_2.servers.pab", strlen("ldap_2.servers.pab")))
|
||||||
|
{
|
||||||
|
// check for pab without a filename and if so, set it to pab.na2
|
||||||
|
rv = prefs->CopyCharPref(DEFAULT_PAB_FILENAME_PREF_NAME, getter_Copies(abFileName));
|
||||||
|
if (NS_FAILED(rv))
|
||||||
|
{
|
||||||
|
// pab.filename not set - set it to pab.na2 and pretend aPref is it.
|
||||||
|
prefs->SetCharPref(DEFAULT_PAB_FILENAME_PREF_NAME, "pab.na2");
|
||||||
|
aPref = "ldap_2.servers.pab.filename";
|
||||||
|
}
|
||||||
|
}
|
||||||
// we only care about ldap_2.servers.*.filename" prefs
|
// we only care about ldap_2.servers.*.filename" prefs
|
||||||
if (!charEndsWith(aPref, ADDRESSBOOK_PREF_NAME_SUFFIX)) return;
|
if (!charEndsWith(aPref, ADDRESSBOOK_PREF_NAME_SUFFIX)) return;
|
||||||
|
|
||||||
nsXPIDLCString abFileName;
|
|
||||||
rv = prefs->CopyCharPref(aPref,getter_Copies(abFileName));
|
rv = prefs->CopyCharPref(aPref,getter_Copies(abFileName));
|
||||||
NS_ASSERTION(NS_SUCCEEDED(rv),"ab migration failed: failed to get ab filename");
|
NS_ASSERTION(NS_SUCCEEDED(rv),"ab migration failed: failed to get ab filename");
|
||||||
if (NS_FAILED(rv)) return;
|
if (NS_FAILED(rv)) return;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче