From 175e0dc98fcfe88be2a2fa76d0dbc9081baa4287 Mon Sep 17 00:00:00 2001 From: "troy%netscape.com" Date: Tue, 25 Jan 2000 03:11:24 +0000 Subject: [PATCH] b=22325. When resizing the row groups and rows because the table has an explict height, we need to make sure any child views are re-positioned. This doesn't solve the flicker problem but now edit fields are all in the right place, and it's good enough that Buster can do his clothes shoping git-svn-id: svn://10.0.0.236/trunk@58536 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/html/table/src/nsTableFrame.cpp | 9 +++++++++ mozilla/layout/tables/nsTableFrame.cpp | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/mozilla/layout/html/table/src/nsTableFrame.cpp b/mozilla/layout/html/table/src/nsTableFrame.cpp index 1f4673f4238..48903ed9bb7 100644 --- a/mozilla/layout/html/table/src/nsTableFrame.cpp +++ b/mozilla/layout/html/table/src/nsTableFrame.cpp @@ -3565,6 +3565,15 @@ nscoord nsTableFrame::ComputeDesiredHeight(nsIPresContext* aPresContext GetStyleData(eStyleStruct_Table, (const nsStyleStruct *&)tableStyle); DistributeSpaceToRows(aPresContext, aReflowState, childFrame, sumOfRowHeights, excess, tableStyle, excessForGroup, rowGroupYPos); + + // Make sure child views are properly positioned + nsIView* view; + childFrame->GetView(aPresContext, &view); + if (view) { + nsContainerFrame::PositionFrameView(aPresContext, childFrame, view); + } else { + nsContainerFrame::PositionChildViews(aPresContext, childFrame); + } } else { nsRect rowGroupRect; diff --git a/mozilla/layout/tables/nsTableFrame.cpp b/mozilla/layout/tables/nsTableFrame.cpp index 1f4673f4238..48903ed9bb7 100644 --- a/mozilla/layout/tables/nsTableFrame.cpp +++ b/mozilla/layout/tables/nsTableFrame.cpp @@ -3565,6 +3565,15 @@ nscoord nsTableFrame::ComputeDesiredHeight(nsIPresContext* aPresContext GetStyleData(eStyleStruct_Table, (const nsStyleStruct *&)tableStyle); DistributeSpaceToRows(aPresContext, aReflowState, childFrame, sumOfRowHeights, excess, tableStyle, excessForGroup, rowGroupYPos); + + // Make sure child views are properly positioned + nsIView* view; + childFrame->GetView(aPresContext, &view); + if (view) { + nsContainerFrame::PositionFrameView(aPresContext, childFrame, view); + } else { + nsContainerFrame::PositionChildViews(aPresContext, childFrame); + } } else { nsRect rowGroupRect;