[Bug 214366]
Neil-httl
214366 at bugs.launchpad.net
Wed Feb 5 21:07:37 UTC 2014
Comment on attachment 8370331
WIP patch 2
>+ PRUint32 i = 2;
>+ nsAutoString newFolderNameUnderTrash(folderName);
>+ while (1) {
>+ rv = CheckIfFolderExists(newFolderNameUnderTrash, this, NULL);
>+ if (rv == NS_MSG_FOLDER_EXISTS) {
>+ newFolderNameUnderTrash.Assign(folderName);
>+ newFolderNameUnderTrash.AppendLiteral("-"); // do we want this localizable? "<folder>-<SeqNo>"
>+ newFolderNameUnderTrash.AppendInt(i);
>+ i++;
>+ } else if (NS_SUCCEEDED(rv)) {
>+ // NS_OK so the tried folder name doesn't exist
>+ break;
>+ } else {
>+ return rv;
>+ }
>+ }
CheckIfFolderExists is overkill if you don't want to alert, use ContainsChildNamed instead. Also, the loop is horribly written, though maybe you might think my version is going too far the other way:
bool containsChild;
for (int32_t i = 2; ContainsChildNamed(destFolderName, &containsChild), containsChild; i++) {
// compute new folder name
}
--
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to Mozilla.
https://bugs.launchpad.net/bugs/214366
Title:
Can't delete a folder if Trash already contains a folder of the same
name
To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/214366/+subscriptions
More information about the Ubuntu-mozillateam-bugs
mailing list