else if (parent) { parent->GetNextSibling(&frame); } rgInFlow = table->GetRowGroupFrame(frame); if (!rgInFlow) { atEnd = PR_TRUE; ABORT1(PR_FALSE);
else { mRowGroupIndex++; continue;
BCMapBorderIterator::SetNewRowGroup(PRBool aSetInFlow){  rowGroupIndex++;  isRepeatedHeader = PR_FALSE;  isRepeatedFooter = PR_FALSE;  if (rowGroupIndex < rowGroups.Count()) {    prevRg = rg;    nsIFrame* frame = (nsTableRowGroupFrame*)rowGroups.ElementAt(rowGroupIndex); if (!frame) ABORT1(PR_FALSE);    rg = table->GetRowGroupFrame(frame); if (!rg) ABORT1(PR_FALSE);    rowGroupStart = rg->GetStartRowIndex();     rowGroupEnd   = rowGroupStart + rg->GetRowCount() - 1;    if (aSetInFlow) {      if (rgInFlow && tableInFlow->GetPrevInFlow()) {        // if there is a prev in flow, then the next rgInFlow is (a) either the previous ones next sibling        // or (b) the rg of the next sibling of the parent if the parent is a scroll frame        nsIFrame* frame  = nsnull;        nsIFrame* parent = nsnull;        rgInFlow->GetParent(&parent);        if (parent == tableInFlow) {          rgInFlow->GetNextSibling(&frame);        }        else if (parent) {          parent->GetNextSibling(&frame);        }        rgInFlow = table->GetRowGroupFrame(frame);        if (!rgInFlow) {          atEnd = PR_TRUE;          ABORT1(PR_FALSE);        }      }      else {        rgInFlow = rg;      }    }    if (SetNewRow(rgInFlow->GetFirstRow(), rg->GetFirstRow())) {      cellMap  = tableCellMap->GetMapFor(*rg);     }    if (rgInFlow && tableInFlow->GetPrevInFlow() && !rgInFlow->GetPrevInFlow()) {      // if rgInFlow doesn't have a prev in flow, then it may be a repeated header or footer      const nsStyleDisplay* display;      rgInFlow->GetStyleData(eStyleStruct_Display, (const nsStyleStruct *&)display);      if (y == startY) {        isRepeatedHeader = (NS_STYLE_DISPLAY_TABLE_HEADER_GROUP == display->mDisplay);      }      else {        isRepeatedFooter = (NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP == display->mDisplay);      }    }  }  else {    atEnd = PR_TRUE;  }  return !atEnd;}