Bug 405105 - "Error: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver] when closing the pageInfo window." ((Av1) <pageInfo.js>) [p=sgautherie.bz@free.fr (Serge Gautherie) r=db48x sr=Neil]

git-svn-id: svn://10.0.0.236/trunk@253004 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
reed%reedloden.com 2008-07-12 11:42:26 +00:00
parent cb3e058568
commit ccd0a71b23

View File

@ -343,9 +343,12 @@ function onLoadPageInfo()
function onUnloadPageInfo()
{
var os = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
os.removeObserver(imagePermissionObserver, "perm-changed");
// Remove the observer, only if there is at least 1 image.
if (gImageView.data.length != 0) {
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.removeObserver(imagePermissionObserver, "perm-changed");
}
/* Call registered overlay unload functions */
onUnloadRegistry.map(function(func) { func(); });
@ -466,6 +469,7 @@ function doGrab(iterator)
processFrames();
return;
}
setTimeout(doGrab, 16, iterator);
}
@ -481,6 +485,7 @@ function addImage(url, type, alt, elem, isBg)
{
if (!url)
return;
if (!gImageHash.hasOwnProperty(url))
gImageHash[url] = { };
if (!gImageHash[url].hasOwnProperty(type))
@ -508,10 +513,12 @@ function addImage(url, type, alt, elem, isBg)
else
sizeText = gStrings.unknown;
gImageView.addRow([url, type, sizeText, alt, 1, elem, isBg]);
// Add the observer, only once.
if (gImageView.data.length == 1) {
var os = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
os.addObserver(imagePermissionObserver, "perm-changed", false);
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.addObserver(imagePermissionObserver, "perm-changed", false);
}
}
else {
@ -707,6 +714,7 @@ function onBeginLinkDrag(event,urlField,descField)
.createInstance(Components.interfaces.nsISupportsArray);
if (!transArray)
return;
var trans = Components.classes[TRANSFERABLE_CONTRACTID]
.createInstance(Components.interfaces.nsITransferable);
if (!trans)
@ -1066,6 +1074,7 @@ var imagePermissionObserver = {
{
if (document.getElementById("mediaPreviewBox").collapsed)
return;
if (aTopic == "perm-changed") {
var permission = aSubject.QueryInterface(Components.interfaces.nsIPermission);
if (permission.type == "image") {