r/sr=brendan
This bug fix prevents the crash on exit with Java on win32.
This commit is contained in:
edburns%acm.org 2001-07-14 00:03:17 +00:00
Родитель dc42537adf
Коммит f7d21d0c26
2 изменённых файлов: 32 добавлений и 4 удалений

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

@ -506,12 +506,26 @@ void nsActivePluginList::stopRunning()
if(mFirst == nsnull)
return;
PRBool doCallSetWindowAfterDestroy = PR_FALSE;
for(nsActivePlugin * p = mFirst; p != nsnull; p = p->mNext)
{
if(!p->mStopped && p->mInstance)
{
p->mInstance->SetWindow(nsnull);
p->mInstance->Stop();
// then determine if the plugin wants Destroy to be called after
// Set Window. This is for bug 50547.
p->mInstance->GetValue(nsPluginInstanceVariable_CallSetWindowAfterDestroyBool,
(void *) &doCallSetWindowAfterDestroy);
if (doCallSetWindowAfterDestroy) {
p->mInstance->Stop();
p->mInstance->Destroy();
p->mInstance->SetWindow(nsnull);
}
else {
p->mInstance->SetWindow(nsnull);
p->mInstance->Stop();
}
doCallSetWindowAfterDestroy = PR_FALSE;
p->setStopped(PR_TRUE);
}
}

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

@ -506,12 +506,26 @@ void nsActivePluginList::stopRunning()
if(mFirst == nsnull)
return;
PRBool doCallSetWindowAfterDestroy = PR_FALSE;
for(nsActivePlugin * p = mFirst; p != nsnull; p = p->mNext)
{
if(!p->mStopped && p->mInstance)
{
p->mInstance->SetWindow(nsnull);
p->mInstance->Stop();
// then determine if the plugin wants Destroy to be called after
// Set Window. This is for bug 50547.
p->mInstance->GetValue(nsPluginInstanceVariable_CallSetWindowAfterDestroyBool,
(void *) &doCallSetWindowAfterDestroy);
if (doCallSetWindowAfterDestroy) {
p->mInstance->Stop();
p->mInstance->Destroy();
p->mInstance->SetWindow(nsnull);
}
else {
p->mInstance->SetWindow(nsnull);
p->mInstance->Stop();
}
doCallSetWindowAfterDestroy = PR_FALSE;
p->setStopped(PR_TRUE);
}
}