This commit is contained in:
pavlov%netscape.com 2001-04-13 05:37:29 +00:00
Родитель 1bb47c54ce
Коммит 08ae8b6696
2 изменённых файлов: 18 добавлений и 12 удалений

Просмотреть файл

@ -166,6 +166,22 @@ nsresult imgRequest::RemoveProxy(imgRequestProxy *proxy, nsresult aStatus)
mObservers.RemoveElement(NS_STATIC_CAST(void*, proxy));
/* Check mState below before we potentially call Cancel() below. Since
Cancel() may result in OnStopRequest being called back before Cancel()
returns, leaving mState in a different state then the one it was in at
this point.
*/
// make sure that observer gets an OnStopDecode message sent to it
if (!(mState & onStopDecode)) {
proxy->OnStopDecode(nsnull, nsnull, NS_IMAGELIB_ERROR_FAILURE, nsnull);
}
// make sure that observer gets an OnStopRequest message sent to it
if (!(mState & onStopRequest)) {
proxy->OnStopRequest(nsnull, nsnull, NS_BINDING_ABORTED);
}
if (mObservers.Count() == 0) {
if (mImage) {
PR_LOG(gImgLog, PR_LOG_DEBUG,
@ -192,16 +208,6 @@ nsresult imgRequest::RemoveProxy(imgRequestProxy *proxy, nsresult aStatus)
#endif
}
if (!(mState & onStopDecode)) {
// make sure that observer gets an OnStopDecode message sent to it
proxy->OnStopDecode(nsnull, nsnull, NS_IMAGELIB_ERROR_FAILURE, nsnull);
}
if (!(mState & onStopRequest)) {
// make sure that observer gets an OnStopRequest message sent to it
proxy->OnStopRequest(nsnull, nsnull, NS_BINDING_ABORTED);
}
return NS_OK;
}

Просмотреть файл

@ -139,13 +139,13 @@ NS_IMETHODIMP imgRequestProxy::Cancel(nsresult status)
mCanceled = PR_TRUE;
nsresult rv = NS_REINTERPRET_CAST(imgRequest*, mOwner.get())->RemoveProxy(this, status);
NS_REINTERPRET_CAST(imgRequest*, mOwner.get())->RemoveProxy(this, status);
mOwner = nsnull;
mListener = nsnull;
return rv;
return NS_OK;
}
/* void suspend (); */