Closed
Bug 43549
Opened 24 years ago
Closed 23 years ago
crash if a text node is the first or last child of a <tree>
Categories
(Core :: XUL, defect, P3)
Core
XUL
Tracking
()
VERIFIED
WORKSFORME
Future
People
(Reporter: jrgmorrison, Assigned: hyatt)
Details
(Keywords: crash, Whiteboard: [nsbeta2-][nsbeta3-])
Overview Description: The following is the root cause of http://bugscape/show_bug.cgi?id=1232 That bug was fixed by removing some stray text that had been inserted into the file. However, this crash can still occur. Basically, if a text node is the first or last child of a <tree>, a crash will occur (and it looks like box/grid layout is somewhat confused). Steps to Reproduce: 1) load the following XUL into the browser ---------------------------------------------------------------------- <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <tree> <treecolgroup><treecol flex="1"/><treecol flex="1"/></treecolgroup> <treechildren flex="1"> <treerow> <treecell><text value="foo"/></treecell> <treecell><text value="bar"/></treecell> </treerow> </treechildren> someText </tree> </window> ---------------------------------------------------------------------- Actual Results : crashes Expected Results: probably that the text node should be "ejected" from the <tree> or simply ignored/removed from the content. Reproducibility: always (if a text node if first or last child of <tree> Build Date & Platform Bug Found: 2000062211 win95 2000062120 mac 2000062120 linux Additional Information: Stack trace from a Talkback incident: nsGridLayout::GetOtherTemple [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsGridLayout.cpp, line 99] nsMonumentLayout::GetOtherTemple [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsMonumentLayout.cpp, line 555] nsMonumentLayout::GetOtherTemple [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsMonumentLayout.cpp, line 555] nsObeliskLayout::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsObeliskLayout.cpp, line 144] nsContainerBox::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp, line 484] nsBoxFrame::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 759] nsSprocketLayout::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp, line 1199] nsTempleLayout::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTempleLayout.cpp, line 241] nsContainerBox::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp, line 484] nsBoxFrame::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 759] nsStackLayout::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsStackLayout.cpp, line 123] nsContainerBox::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp, line 484] nsBoxFrame::GetMinSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 759] nsContainerBox::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp, line 456] nsBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 721] nsSprocketLayout::PopulateBoxSizes [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp, line 690] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp, line 142] nsContainerBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp, line 558] nsBoxFrame::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 825] nsStackLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsStackLayout.cpp, line 245] nsContainerBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp, line 558] nsBoxFrame::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 825] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 676] nsRootBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsRootBoxFrame.cpp, line 211] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 716] ViewportFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsViewportFrame.cpp, line 546] PresShell::InitialReflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 1689] nsXULDocument::StartLayout [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 4165] nsXULDocument::ResumeWalk [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 5482] nsXULDocument::EndLoad [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 1600] XULContentSinkImpl::DidBuildModel [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULContentSink.cpp, line 556] CWellFormedDTD::DidBuildModel [d:\builds\seamonkey\mozilla\htmlparser\src\nsWellFormedDTD.cpp, line 315] nsParser::DidBuildModel [d:\builds\seamonkey\mozilla\htmlparser\src\nsParser.cpp, line 1068] nsParser::ResumeParse [d:\builds\seamonkey\mozilla\htmlparser\src\nsParser.cpp, line 1588] nsParser::EnableParser [d:\builds\seamonkey\mozilla\htmlparser\src\nsParser.cpp, line 1171] CSSLoaderImpl::Cleanup [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 747] CSSLoaderImpl::SheetComplete [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 817] CSSLoaderImpl::Cleanup [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 728] CSSLoaderImpl::SheetComplete [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 817] CSSLoaderImpl::ParseSheet [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 852] CSSLoaderImpl::DidLoadStyle [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 888] SheetLoadData::OnStreamComplete [d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSLoader.cpp, line 685] nsStreamLoader::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\base\src\nsStreamLoader.cpp, line 122] nsFileChannel::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\protocol\file\src\nsFileChannel.cpp, line 630] nsOnStopRequestEvent::HandleEvent [d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line 302] nsStreamListenerEvent::HandlePLEvent [d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line 106] PL_HandleEvent [d:\builds\seamonkey\mozilla\xpcom\threads\plevent.c, line 576] PL_ProcessPendingEvents [d:\builds\seamonkey\mozilla\xpcom\threads\plevent.c, line 539] _md_EventReceiverProc [d:\builds\seamonkey\mozilla\xpcom\threads\plevent.c, line 1034] KERNEL32.DLL + 0x3663 (0xbff73663) KERNEL32.DLL + 0x228e0 (0xbff928e0) 0x00688b48
Reporter | ||
Updated•24 years ago
|
Updated•24 years ago
|
Comment 3•24 years ago
|
||
since the fix for this is pretty easy (*smack*, don't do that), nominating for beta3 to get it off our beta2 radar. we _must_ fix this by rtm, but it's not required for beta2
Updated•24 years ago
|
Whiteboard: [nsbeta2-]
Comment 4•24 years ago
|
||
[nsbeta3-] cuz its malformed. -> hyatt
Assignee: evaughan → hyatt
Status: ASSIGNED → NEW
Whiteboard: [nsbeta2-] → [nsbeta2-][nsbeta3-]
Target Milestone: M21 → Future
Comment 5•23 years ago
|
||
worksforme
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → WORKSFORME
Component: XP Toolkit/Widgets: Trees → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
You need to log in
before you can comment on or make changes to this bug.
Description
•