Closed
Bug 47360
Opened 24 years ago
Closed 24 years ago
full page plugins are not destroyed properly and leak
Categories
(Core Graveyard :: Plug-ins, defect, P3)
Core Graveyard
Plug-ins
Tracking
(Not tracked)
VERIFIED
FIXED
M18
People
(Reporter: sean, Assigned: serhunt)
Details
(Keywords: memory-leak, Whiteboard: [nsbeta3+] [fix in hand])
Attachments
(1 file)
629 bytes,
patch
|
Details | Diff | Splinter Review |
Full page plugins get added to the ActivePlugin list (nsPluginHostImpl.cpp) but can't be removed. Caching of full page plugin instances turns into a bottomless pit - instances are not recorded as stopped, therefore they can never be removed until app shutdown. Even if they were properly marked as stopped, they couldn't be reused since the pluginViewer calls Destroy() on them. Only nsActivePlugin::~nsActivePlugin() should call a plugin's Destroy() method. The following line in http://lxr.mozilla.org/seamonkey/source/modules/plugin/nglsrc/nsPluginViewer.cpp#741 mInstance->Destroy(); should be removed and replaced with a call to nsPluginHostImpl::StopPluginInstance.
Reporter | ||
Comment 2•24 years ago
|
||
Keywords: mlk
Comment 4•24 years ago
|
||
Another nice patch, thanks sean! Andrei, could you evaluate the change and either apply the patch or explain why we cannot accept it.
Whiteboard: [nsbeta3+] [fix in hand]
Target Milestone: --- → M18
This change touches very delicate thing and is probably right. We have some problems with stop/destroy sequence. I'll check it out and see what implications are.
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
OK, this is slightly different from what I originally thought. Looks good. Checked in.
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•