mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 617152. Part 5: nsPluginHost::StopPluginInstance should skip plugin instances that are already destroyed (e.g. because the plugin was disabled). r=josh
This commit is contained in:
parent
6f3afc714b
commit
7faddbb34c
@ -109,6 +109,9 @@ public:
|
||||
bool IsRunning() {
|
||||
return RUNNING == mRunning;
|
||||
}
|
||||
bool HasStartedDestroying() {
|
||||
return mRunning >= DESTROYING;
|
||||
}
|
||||
|
||||
// Indicates whether the plugin is running normally or being shut down
|
||||
bool CanFireNotifications() {
|
||||
|
@ -1218,7 +1218,7 @@ nsPluginHost::TagForPlugin(nsNPAPIPlugin* aPlugin)
|
||||
}
|
||||
}
|
||||
// a plugin should never exist without a corresponding tag
|
||||
NS_ASSERTION(PR_FALSE, "TagForPlugin has failed");
|
||||
NS_ERROR("TagForPlugin has failed");
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
@ -3209,9 +3209,11 @@ nsPluginHost::StopPluginInstance(nsIPluginInstance* aInstance)
|
||||
PLUGIN_LOG(PLUGIN_LOG_NORMAL,
|
||||
("nsPluginHost::StopPluginInstance called instance=%p\n",aInstance));
|
||||
|
||||
aInstance->Stop();
|
||||
|
||||
nsNPAPIPluginInstance* instance = static_cast<nsNPAPIPluginInstance*>(aInstance);
|
||||
if (instance->HasStartedDestroying())
|
||||
return NS_OK;
|
||||
|
||||
aInstance->Stop();
|
||||
|
||||
// if the plugin does not want to be 'cached' just remove it
|
||||
PRBool doCache = PR_TRUE;
|
||||
|
Loading…
Reference in New Issue
Block a user