Closed Bug 7507 Opened 25 years ago Closed 25 years ago

Reloading 4.x plug-in that uses SDK C++ framework crashes

Categories

(Core Graveyard :: Plug-ins, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: cohn, Assigned: amusil)

Details

nsPluginHostImpl::FindStoppedPluginForURL finds a stopped plug-in and calls
SetWindow on it. However, if a 4.x plug-in was stopped (by
[layout/html/base/src/nsObjectFrame.cpp]
nsPluginInstanceOwner::~nsPluginInstanceOwner), ns4xPluginInstance::Stop gets
called which actually calls Destroy. In the plug-in SDK C++ framework, Destroy
deletes the CNetscapePlugin object which SetWindow uses. So when SetWindow gets
called by FindStoppedPluginForURL, it dereferences the deleted CNetscapePlugin
object.
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Fixed 6.4.99.  Added check in ns4xPluginInstance.cpp to make sure that the 4x
plugin has been started before calling SetWindow.
Works for my plug-in now.
Status: RESOLVED → VERIFIED
based on cohn@adobe.com comment, marking bug verified
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.