Bug 563878. Part 3. Fix FindViewContaining. r=mats

This commit is contained in:
Timothy Nikkel 2010-06-05 15:29:49 -05:00
parent 0a904b0283
commit 1e70bd11d6

View File

@ -1715,17 +1715,18 @@ static nsView* FindFloatingViewContaining(nsView* aView, nsPoint aPt)
*/
static nsView* FindViewContaining(nsView* aView, nsPoint aPt)
{
for (nsView* v = aView->GetFirstChild(); v; v = v->GetNextSibling()) {
if (aView->GetDimensions().Contains(aPt) &&
aView->GetVisibility() != nsViewVisibility_kHide) {
nsView* r = FindViewContaining(v, aPt - v->GetOffsetTo(aView));
if (r)
return r;
return v;
}
if (!aView->GetDimensions().Contains(aPt) ||
aView->GetVisibility() == nsViewVisibility_kHide) {
return nsnull;
}
return nsnull;
for (nsView* v = aView->GetFirstChild(); v; v = v->GetNextSibling()) {
nsView* r = FindViewContaining(v, aPt - v->GetOffsetTo(aView));
if (r)
return r;
}
return aView;
}
void