Closed Bug 121620 Opened 23 years ago Closed 18 years ago

Closing TABs causes leak of print device context

Categories

(Core :: Printing: Output, defect, P2)

Sun
Solaris
defect

Tracking

()

RESOLVED INVALID
Future

People

(Reporter: roland.mainz, Assigned: rods)

References

Details

(Keywords: memory-leak)

2002-01-23-08-trunk Solaris 7 SPARC/WS7EA2 build.
It looks we are leaking the printer nsIDeviceContext objects in some cases...

Steps to reproduce:
- Create a new TAB
- Go to http://www.cray.com/products/systems/mta/ in that TAB
- Switch to print preview mode
- Switch back to another TAB
- Right-click on the "Cray MTA"-tab, choose "close TAB"

Result:
The destructor of the nsDeviceContextPS/nsDeviceContextXP objects is not called

Expected result:
The objects should be disposed.

Problems:
Trying to print while another printer device context is still alive is a bad
thing on Unix - both PostScript+Xprint modules have many many global vars (there
are bugs filed to fix that) - an attempt to print may result in memory
corruption...
Marking dependicy to bug 120911 - this one fixes a possible leak of
|nsIDeviceContextSpec| objects - maybe it fixes this issue, too (I am not
sure...)...
Depends on: 120911
Keywords: mlk
The printing while in PP has been fixed for now with a pref and a dialog that
prevents it.

Also, if a spec was being leaak then that is probably the cause of the leak of
the DC.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.9
Note that this looks like a "hard leak" (e.g. the object is not freed at
runtime, not even at shutdown), therefore I suggest to look for all manual
refcounts in the code...
Moving to Moz1.1. Engineers are overloaded with higher priority bugs.
Severity: major → normal
Target Milestone: mozilla0.9.9 → mozilla1.1
Priority: -- → P2
Target Milestone: mozilla1.1 → Future
*** Bug 142410 has been marked as a duplicate of this bug. ***
It's been a while, has anyone looked at this?
I was just bitten by this in firefox-1.0.4.

Printed a couple of times and firefox got confused and
said "You cannot print while in print preview". Can't
rememeber that I closed any tabs though.
I can't reproduce this in trunk builds of either firefox or seamonkey on linux,
because there doesn't seem to be a way to switch tabs in print preview mode.
Print preview takes over the whole window so the tab bar isn't accessible, and
the keystrokes for switching tabs (Ctrl-PageUp/PageDown) have no effect. Am I
missing some trick here?)
right, print and print preview are modal
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.