Closed Bug 207318 Opened 21 years ago Closed 21 years ago

nsTreeBodyFrame needs to check rv of GetParentIndex

Categories

(Core :: XUL, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Assigned: timeless)

References

Details

(Keywords: assertion)

Attachments

(1 file)

Bad code:
nsTreeBodyFrame::OnDragDrop (nsIDOMEvent* aEvent)
  mView->GetParentIndex(mDropRow, &parentIndex);
  while (parentIndex >= 0) {
nsTreeBodyFrame::PaintCell(PRInt32              aRowIndex,
        mView->GetParentIndex(currentParent, &parent);
        if (parent == -1)

###!!! ASSERTION: bad row index: 'aRowIndex >= 0 && aRowIndex < mRows.Count()',
file i:/build/mozilla/layout/xul/base/src/tree/src/nsTreeContentView.cpp, line 371
aRowIndex == 16, mRows.Count() == 16

Top of stack
nsTreeContentView::GetParentIndex(nsTreeContentView * const 0x11d0a350, int 16,
int * 0x0012838c) line 371 + 18 bytes
nsTreeBodyFrame::PaintCell(int -2, nsTreeColumn * 0x123718f0, const nsRect &
{x=15 y=555 width=1885 height=240}, nsIPresContext * 0x11c018f8,
nsIRenderingContext & {...}, const nsRect & {x=0 y=0 width=1900 height=5520},
int & 1870) line 2517
nsTreeBodyFrame::PaintRow(int -2, const nsRect & {x=0 y=540 width=1900
height=270}, nsIPresContext * 0x11c018f8, nsIRenderingContext & {...}, const
nsRect & {x=0 y=0 width=1900 height=5520}) line 2401
nsTreeBodyFrame::Paint(nsTreeBodyFrame * const 0x11ccaaf8, nsIPresContext *
0x11c018f8, nsIRenderingContext & {...}, const nsRect & {x=0 y=0 width=1900
height=5520}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 2186
PresShell::Paint(PresShell * const 0x11df5ca4, nsIView * 0x11ccf978,
nsIRenderingContext & {...}, const nsRect & {x=0 y=0 width=1900 height=5520})
line 5913 + 36 bytes

Yes, the -2 to paint cell is hopefully bug 125687
Attached patch check rvSplinter Review
Attachment #124330 - Flags: review?(varga)
Comment on attachment 124330 [details] [diff] [review]
check rv

nice
Attachment #124330 - Flags: review?(varga) → review+
Attachment #124330 - Flags: superreview?(tor)
Attachment #124330 - Flags: superreview?(tor) → superreview?(bryner)
Attachment #124330 - Flags: superreview?(bryner) → superreview+
checked in
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
was this check in trunk and branch, or trunk only?

it caused a regression (that bienvenu fixed).  see bug #207908
Blocks: 207908
Seth: i'm on vacation, for future reference, you can check for yourself by 
using bonsai, e.g.: 
http://bonsai.mozilla.org/cvslog.cgi?file=mozilla/layout/xul/base/src/tree/sr
c/nsTreeBodyFrame.cpp&rev=MOZILLA_1_4_BRANCH

you will see that it was not checked into the branch. i'm sorry for the 
regression and was aware of it by sometime yesterday at which point i 
would have written a fix but bienvenu had already fixed it.

i'm sorry about the regression and the logic error.
Component: XP Toolkit/Widgets: Trees → XUL
QA Contact: shrir → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: