Closed Bug 61320 Opened 24 years ago Closed 6 years ago

printing textfield widgets causes assertions

Categories

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

x86
Linux
defect

Tracking

()

RESOLVED WORKSFORME
Future

People

(Reporter: bbaetz, Assigned: kinmoz)

References

Details

(Keywords: helpwanted, topembed-, Whiteboard: [assert] [T2])

Printing any page contain now prints two assertions, (one before and one after the P string) per text field in the page: ###!!! ASSERTION: no window in frame tree: 'nsnull != window', file nsFrame.cpp, line 2059 ###!!! Break: at file nsFrame.cpp, line 2059 (the same assertion every times) To reproduce, try printing www.google.com, either to a printer or to a file - you'll get one assertion before and one after. Printing the new bug entry form gives 6 assertions both before and after - there are 6 freetext fields, including the bug # at the footer. The document still prints.
Are you responsible for text widgets... if you are not.. do you know who is?
Assignee: dcone → rods
reassigning
Assignee: rods → beppe
assigning to anthony to help debug the assert
Assignee: beppe → anthonyd
Target Milestone: --- → mozilla0.9
investigating. anthonyd
Status: NEW → ASSIGNED
asserts should be cleaned up
spam : changing qa to sujay (new qa contact for Printing)
QA Contact: shrir → sujay
setting to mozilla 0.9.1
Target Milestone: mozilla0.9 → mozilla0.9.1
Blocks: 64841
moving to milestone mozilla1.0; add helpwanted Do these assertions still get triggered?
Keywords: helpwanted
Target Milestone: mozilla0.9.1 → mozilla1.0
Yes, these still get triggered (although the relevent line number is now line 2124)
Whiteboard: [assert]
Target Milestone: mozilla1.0 → mozilla0.9.3
Target Milestone: mozilla0.9.3 → mozilla1.0
--> kin
Assignee: anthonyd → kin
Status: ASSIGNED → NEW
Bulk move of mozilla1.0 bugs to mozilla.1.0.1. I will try to pull some of these back in if I can.
Target Milestone: mozilla1.0 → mozilla1.0.1
Keywords: topembed
Keywords: mozilla1.0+
Printing creates it's own set of frames for each element in the content tree ... unfortunately this has the side effect of creating an editor for each text widget on the page. This assertion is being triggered by some code in the editor which requires a widget so that it can QI it to an nsIKBStateControl interface and call ResetInputState() to initialize IME. The error generated by the assertion in nsFrame.cpp is propogated back to the editor, and is ignored, so nothing really bad happens. If we really wanted to pursue fixing this, for mozilla1.0, we'd probably have to figure out somehow that our frame is created by a print context, and somehow set flags on the editor to prevent IME initialization. Note that editors are still needed during printing because it is what generates the anonymous content nodes necessary to represent the contents of the text widgets.
The pres context has a method for determining if it is printing. Marking mozilla1.0-, topembed-, future P2
Priority: P3 → P2
Target Milestone: mozilla1.0.1 → Future
Corfirming topembed- [T2] per EDT triage.
Whiteboard: [assert] → [assert] [T2]
QA Contact: sujay → printing
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.