Table crash on border collapse style being set

VERIFIED FIXED in M9

Status

()

Core
Layout: Tables
P2
critical
VERIFIED FIXED
20 years ago
19 years ago

People

(Reporter: David Hyatt, Assigned: karnaze (gone))

Tracking

Trunk
x86
Other
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

20 years ago
Edit the css file that accompanies sidebar.xul.  If you
apply a border collapse style to the tree, you have
a crash in the table code when you try to open a tree
item.

Double click on an item to open it and reproduce the crash
(after you've edited the CSS file to add in the collapse
rule for the tree).

It appears that the arrays of border edges are out of sync
when a new row gets inserted into the tree (ContentInserted
notification that triggers a reflow).

At the moment, no tree view can have a border collapse style
because of this bug.

Comment 1

20 years ago
assigning incremental reflow and collapsing border bugs to buster

Updated

20 years ago
Assignee: karnaze → buster
Status: ASSIGNED → NEW

Updated

20 years ago
Status: NEW → ASSIGNED

Comment 2

20 years ago
changed misc bugs to M6

Comment 3

19 years ago
setting my table bugs to M9
Severity: normal → critical
Sounds like a duplicate of bug 9024.

Updated

19 years ago
Assignee: buster → karnaze
Status: ASSIGNED → NEW
Depends on: 9024, 11393

Comment 5

19 years ago
I think I have the fix for this bug, but bug 11393 is preventing me from
verifying.  I will check in my trivial change, which is shown below. Chris,
after 11393 is fixed, can you please verify with the attached test case?

void nsTableFrame::SetBorderEdgeLength(PRUint8 aSide,
                                       PRInt32 aIndex, nscoord aLength)
{
  nsBorderEdge *border = (nsBorderEdge*)
                         (mBorderEdges.mEdges[aSide].ElementAt(aIndex));
	if (border)
		border->mLength = aLength;
}

plus 2 asserts removed, one each from
nsTableFrame::ComputeVerticalCollapsingBorders and
nsTableFrame::ComputeHorizontalCollapsingBorders:
   NS_ASSERTION(PR_FALSE, "aStartRowIndex>=rowCount in
ComputeVerticalCollapsingBorders");

Comment 6

19 years ago
Created attachment 1159 [details]
test case with empty table filled via DOM

Comment 7

19 years ago
Test case added
(Assignee)

Updated

19 years ago
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Assignee)

Comment 8

19 years ago
More was needed than described 8/6 comments.
(Assignee)

Comment 9

19 years ago
I forgot to mention that it was fixed using Steve's attachment. I could not find
sidebar.xul as mentioned in the original comments.

Updated

19 years ago
Status: RESOLVED → VERIFIED

Comment 10

19 years ago
Using 8/16 Apprunner on Win 95, Win 98 and Win NT, and Steve's test case from
8/6, verified bug fixed. No crashes.
You need to log in before you can comment on or make changes to this bug.