Fixing release leaks for plugin instance, bug #37915

This commit is contained in:
av%netscape.com 2000-05-02 22:27:58 +00:00
Родитель 20d72f6f15
Коммит 5f475a925b
2 изменённых файлов: 6 добавлений и 2 удалений

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

@ -1480,7 +1480,7 @@ NS_IMETHODIMP nsPluginHostImpl::Destroy(void)
{
if(mActivePluginList[i].mInstance)
{
mActivePluginList[i].mInstance->Destroy();
mActivePluginList[i].mInstance->Destroy();
NS_RELEASE(mActivePluginList[i].mInstance);
NS_RELEASE(mActivePluginList[i].mPeer);
PL_strfree(mActivePluginList[i].mURL);
@ -1520,6 +1520,7 @@ NS_IMETHODIMP nsPluginHostImpl::InstantiateEmbededPlugin(const char *aMimeType,
aOwner->GetInstance(instance);
if(!aMimeType || PL_strcasecmp(aMimeType, "application/x-java-vm"))
rv = NewEmbededPluginStream(aURL, nsnull, instance);
NS_IF_RELEASE(instance);
return NS_OK;
}
@ -1605,6 +1606,7 @@ NS_IMETHODIMP nsPluginHostImpl::InstantiateFullPagePlugin(const char *aMimeType,
aOwner->GetInstance(instance);
if(!aMimeType || PL_strcasecmp(aMimeType, "application/x-java-vm"))
rv = NewFullPagePluginStream(aStreamListener, instance);
NS_IF_RELEASE(instance);
return NS_OK;
}

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

@ -1480,7 +1480,7 @@ NS_IMETHODIMP nsPluginHostImpl::Destroy(void)
{
if(mActivePluginList[i].mInstance)
{
mActivePluginList[i].mInstance->Destroy();
mActivePluginList[i].mInstance->Destroy();
NS_RELEASE(mActivePluginList[i].mInstance);
NS_RELEASE(mActivePluginList[i].mPeer);
PL_strfree(mActivePluginList[i].mURL);
@ -1520,6 +1520,7 @@ NS_IMETHODIMP nsPluginHostImpl::InstantiateEmbededPlugin(const char *aMimeType,
aOwner->GetInstance(instance);
if(!aMimeType || PL_strcasecmp(aMimeType, "application/x-java-vm"))
rv = NewEmbededPluginStream(aURL, nsnull, instance);
NS_IF_RELEASE(instance);
return NS_OK;
}
@ -1605,6 +1606,7 @@ NS_IMETHODIMP nsPluginHostImpl::InstantiateFullPagePlugin(const char *aMimeType,
aOwner->GetInstance(instance);
if(!aMimeType || PL_strcasecmp(aMimeType, "application/x-java-vm"))
rv = NewFullPagePluginStream(aStreamListener, instance);
NS_IF_RELEASE(instance);
return NS_OK;
}