From a2031e92b929b71ef0ebfab7e5c0b63879f0050c Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Wed, 10 Nov 1999 23:54:25 +0000 Subject: [PATCH] fix #18383, r=alecf. check if the folder really exists by checking if it has a server. if not, return an error. this makes the right error message pop up. git-svn-id: svn://10.0.0.236/trunk@53113 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/mailnews/compose/src/nsMsgCopy.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mozilla/mailnews/compose/src/nsMsgCopy.cpp b/mozilla/mailnews/compose/src/nsMsgCopy.cpp index 122a4b05818..61f4f3173f5 100644 --- a/mozilla/mailnews/compose/src/nsMsgCopy.cpp +++ b/mozilla/mailnews/compose/src/nsMsgCopy.cpp @@ -313,6 +313,16 @@ LocateMessageFolder(nsIMsgIdentity *userIdentity, nsCOMPtr folderResource; folderResource = do_QueryInterface(resource, &rv); if (NS_SUCCEEDED(rv) && folderResource) { + // check that folder really exists by seeing if it has a server + // GetResource() will return NS_OK and create the resource, but it may not + // be a "real" folder + // we need to return a failure code, so the user gets the alert that + // their pref was bogus + nsCOMPtr server; + rv = folderResource->GetServer(getter_AddRefs(server)); + if (NS_FAILED(rv)) return rv; + if (!server) return NS_ERROR_FAILURE; + *msgFolder = folderResource; NS_ADDREF(*msgFolder); return NS_OK;