diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 37f5de130f33..7be6a14efc4d 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1410,6 +1410,7 @@ function BrowserShutdown() .getService(Components.interfaces.nsIObserverService); os.removeObserver(gSessionHistoryObserver, "browser:purge-session-history"); os.removeObserver(gXPInstallObserver, "xpinstall-install-blocked"); + os.removeObserver(gMissingPluginInstaller.pluginCrashed, "plugin-crashed"); try { gBrowser.removeProgressListener(window.XULBrowserWindow); diff --git a/modules/plugin/Makefile.in b/modules/plugin/Makefile.in index d1013d73f783..8a80364152ad 100644 --- a/modules/plugin/Makefile.in +++ b/modules/plugin/Makefile.in @@ -68,7 +68,7 @@ ifeq ($(OS_ARCH),OS2) TOOL_DIRS += default/os2 endif -ifdef PBBUILD +ifdef PBBUILD_BIN ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) TOOL_DIRS += default/mac endif diff --git a/toolkit/crashreporter/CrashSubmit.jsm b/toolkit/crashreporter/CrashSubmit.jsm index cf723de7ea18..6be3ecf80f1d 100644 --- a/toolkit/crashreporter/CrashSubmit.jsm +++ b/toolkit/crashreporter/CrashSubmit.jsm @@ -273,8 +273,8 @@ Submitter.prototype = { this.element.removeChild(this.iframe); if (this.errorCallback) { this.errorCallback(this.id); - this.cleanup(); } + this.cleanup(); return 0; } // check HTTP status @@ -283,8 +283,8 @@ Submitter.prototype = { this.element.removeChild(this.iframe); if (this.errorCallback) { this.errorCallback(this.id); - this.cleanup(); } + this.cleanup(); return 0; } @@ -303,8 +303,10 @@ Submitter.prototype = { submit: function Submitter_submit() { let [dump, extra] = getPendingMinidump(this.id); - if (!dump.exists() || !extra.exists()) + if (!dump.exists() || !extra.exists()) { + this.cleanup(); return false; + } this.dump = dump; this.extra = extra; let iframe = this.document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "iframe"); @@ -315,7 +317,8 @@ Submitter.prototype = { if (iframe.contentWindow.location == "about:blank") return; iframe.removeEventListener("load", loadHandler, true); - self.submitForm(); + if (!self.submitForm()) + self.cleanup(); } iframe.addEventListener("load", loadHandler, true); diff --git a/xpcom/threads/nsEnvironment.cpp b/xpcom/threads/nsEnvironment.cpp index f6e348e122e2..55bbfac68790 100644 --- a/xpcom/threads/nsEnvironment.cpp +++ b/xpcom/threads/nsEnvironment.cpp @@ -137,7 +137,7 @@ nsEnvironment::Get(const nsAString& aName, nsAString& aOutValue) * vars. */ -typedef nsBaseHashtableET EnvEntryType; +typedef nsBaseHashtableET EnvEntryType; typedef nsTHashtable EnvHashType; static EnvHashType *gEnvHash = nsnull; @@ -178,7 +178,7 @@ nsEnvironment::Set(const nsAString& aName, const nsAString& aValue) return NS_ERROR_UNEXPECTED; } - EnvEntryType* entry = gEnvHash->PutEntry(nativeName); + EnvEntryType* entry = gEnvHash->PutEntry(nativeName.get()); if (!entry) { return NS_ERROR_OUT_OF_MEMORY; }