Closed Bug 47360 Opened 25 years ago Closed 25 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: 25 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: