summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mailnews/base/content/newmailalert.js20
-rw-r--r--mailnews/base/src/nsMessengerUnixIntegration.cpp12
2 files changed, 22 insertions, 10 deletions
diff --git a/mailnews/base/content/newmailalert.js b/mailnews/base/content/newmailalert.js
index 243934092..f54d165b1 100644
--- a/mailnews/base/content/newmailalert.js
+++ b/mailnews/base/content/newmailalert.js
@@ -57,12 +57,20 @@ function prefillAlertInfo()
folderSummaryInfoEl.mMaxMsgHdrsInPopup = gNumNewMsgsToShowInAlert;
for (let folder in fixIterator(allFolders, Components.interfaces.nsIMsgFolder))
{
- if (folder.hasNewMessages && !folder.getFlag(Ci.nsMsgFolderFlags.Virtual))
- {
- var asyncFetch = {};
- folderSummaryInfoEl.parseFolder(folder, new urlListener(folder), asyncFetch);
- if (asyncFetch.value)
- gPendingPreviewFetchRequests++;
+ if (folder.hasNewMessages) {
+ let notify =
+ // Any folder which is an inbox or ...
+ folder.getFlag(Ci.nsMsgFolderFlags.Inbox) ||
+ // any non-special or non-virtual folder. In other words, we don't
+ // notify for Drafts|Trash|SentMail|Templates|Junk|Archive|Queue or virtual.
+ !(folder.flags & (Ci.nsMsgFolderFlags.SpecialUse | Ci.nsMsgFolderFlags.Virtual));
+
+ if (notify) {
+ var asyncFetch = {};
+ folderSummaryInfoEl.parseFolder(folder, new urlListener(folder), asyncFetch);
+ if (asyncFetch.value)
+ gPendingPreviewFetchRequests++;
+ }
}
}
}
diff --git a/mailnews/base/src/nsMessengerUnixIntegration.cpp b/mailnews/base/src/nsMessengerUnixIntegration.cpp
index 0e4dd1405..cb76a5fba 100644
--- a/mailnews/base/src/nsMessengerUnixIntegration.cpp
+++ b/mailnews/base/src/nsMessengerUnixIntegration.cpp
@@ -609,10 +609,14 @@ nsresult nsMessengerUnixIntegration::GetFirstFolderWithNewMail(nsACString& aFold
if (NS_FAILED(rv))
continue;
- // Unless we're dealing with an Inbox, we don't care
- // about Drafts, Queue, SentMail, Template, or Junk folders
- if (!(flags & nsMsgFolderFlags::Inbox) &&
- (flags & (nsMsgFolderFlags::SpecialUse & ~nsMsgFolderFlags::Inbox)))
+ bool notify =
+ // Any folder which is an inbox or ...
+ flags & nsMsgFolderFlags::Inbox ||
+ // any non-special or non-virtual folder. In other words, we don't
+ // notify for Drafts|Trash|SentMail|Templates|Junk|Archive|Queue or virtual.
+ !(flags & (nsMsgFolderFlags::SpecialUse | nsMsgFolderFlags::Virtual));
+
+ if (!notify)
continue;
nsCString folderURI;