Closed
Bug 302445
Opened 19 years ago
Closed 19 years ago
Frame leaks make it impossible to print
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: roc, Assigned: roc)
Details
Attachments
(1 file)
3.81 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
benjamin
:
approval1.8b4+
|
Details | Diff | Splinter Review |
Sometimes, we have bugs that cause frames to leak, such as when the frame tree is malformed and nsFrame::Destroy() doesn't get rid of the entire subtree. This is especially likely to happen while printing. Many of these bugs are fixed now but probably not all. This normally isn't a showstopper, we just chew up memory. However there is one case when it's really bad. If the lost frames contain a textbox with an nsEditor, the nsEditor holds a strong reference to the enclosing view manager. If the page also includes translucency, the view manager will hold a reference to an nsBlender. And nsBlender holds a reference to the device context. During printing on Linux, this is an nsDeviceContextPS. Now, nsDeviceContextPS uses global variables and as a sanity check, it refuses to print if there's an existing nsDeviceContextPS alive. So if we already did one print job and it leaked a textbox frame and hence an nsDeviceContextPS, then we won't be able to print anymore.
Assignee | ||
Comment 1•19 years ago
|
||
This is a workaround fix that reduces the harm. We don't need nsBlender to hold a strong ref to nsIDeviceContext. nsViewManager doesn't hold a strong ref to the device context either. So even if the view manager leaks, we can still destroy the device context and print again.
Assignee | ||
Updated•19 years ago
|
Attachment #190807 -
Flags: superreview?(dbaron)
Attachment #190807 -
Flags: review?(dbaron)
Attachment #190807 -
Flags: superreview?(dbaron)
Attachment #190807 -
Flags: superreview+
Attachment #190807 -
Flags: review?(dbaron)
Attachment #190807 -
Flags: review+
Assignee | ||
Comment 2•19 years ago
|
||
Comment on attachment 190807 [details] [diff] [review] fix serious bug horks Linux printing somewhat randomly
Attachment #190807 -
Flags: approval1.8b4?
Updated•19 years ago
|
Attachment #190807 -
Flags: approval1.8b4? → approval1.8b4+
Assignee | ||
Comment 3•19 years ago
|
||
checked in. Actually, the trunk blender code doesn't refer to the depth at all so I just removed mDepth.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•