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)

defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: sean, Assigned: serhunt)

Details

(Keywords: memory-leak, Whiteboard: [nsbeta3+] [fix in hand])

Attachments

(1 file)

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.
nominating nsbeta3
Keywords: nsbeta3
Hardware: PC → All
added patch keyword
Keywords: patch
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.
verified tha that the requiredd changes are in.
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: