bug 433018, patch by gavin, r+ui-r+a=me
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -263,22 +263,32 @@ BrowserGlue.prototype = {
_onQuitRequest: function(aCancelQuit, aQuitType)
{
// If user has already dismissed quit request, then do nothing
if ((aCancelQuit instanceof Ci.nsISupportsPRBool) && aCancelQuit.data)
return;
var wm = Cc["@mozilla.org/appshell/window-mediator;1"].
getService(Ci.nsIWindowMediator);
+
var windowcount = 0;
+ var pagecount = 0;
var browserEnum = wm.getEnumerator("navigator:browser");
- while (browserEnum.hasMoreElements() && browserEnum.getNext())
- windowcount++;
+ while (browserEnum.hasMoreElements()) {
+ windowcount++;
+
+ var browser = browserEnum.getNext();
+ var tabbrowser = browser.document.getElementById("content");
+ if (tabbrowser)
+ pagecount += tabbrowser.browsers.length;
+ }
this._saveSession = false;
+ if (pagecount < 2)
+ return;
if (aQuitType != "restart")
aQuitType = "quit";
var prefBranch = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefBranch);
var showPrompt = true;
try {