Bug 252850. Backing out minor listbox layout fix, because it broke something worse

git-svn-id: svn://10.0.0.236/trunk@159944 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
roc+%cs.cmu.edu
2004-07-28 01:24:58 +00:00
parent fda39eeaba
commit 0b77ffa440
2 changed files with 14 additions and 24 deletions

View File

@@ -1061,6 +1061,7 @@ nsListControlFrame::Reflow(nsIPresContext* aPresContext,
//--Calculate a width just big enough for the scrollframe to shrink around the
//longest element in the list
nsHTMLReflowState secondPassState(aReflowState);
nsHTMLReflowState firstPassState(aReflowState);
//nsHTMLReflowState firstPassState(aPresContext, nsnull,
@@ -1314,20 +1315,14 @@ nsListControlFrame::Reflow(nsIPresContext* aPresContext,
}
}
// Do a second reflow with the adjusted width and height settings
// This sets up all of the frames with the correct width and height.
secondPassState.mComputedWidth = visibleWidth;
secondPassState.mComputedHeight = visibleHeight;
secondPassState.reason = eReflowReason_Resize;
if (mPassId == 0 || mPassId == 2 || visibleHeight != scrolledAreaHeight ||
visibleWidth != scrolledAreaWidth) {
nsHTMLReflowState secondPassState(aReflowState);
// Do a second reflow with the adjusted width and height settings
// This sets up all of the frames with the correct width and
// height. Reflow with the same width constraint as for the first
// reflow. If the width is unconstrained, then we want to allow
// the listbox/dropdown to get wider if a vertical scrollbar is
// now needed.
secondPassState.mComputedWidth = aReflowState.mComputedWidth;
secondPassState.mComputedHeight = visibleHeight;
secondPassState.reason = eReflowReason_Resize;
nsHTMLScrollFrame::Reflow(aPresContext, aDesiredSize, secondPassState, aStatus);
if (aReflowState.mComputedHeight == 0) {
aDesiredSize.ascent = 0;

View File

@@ -1061,6 +1061,7 @@ nsListControlFrame::Reflow(nsIPresContext* aPresContext,
//--Calculate a width just big enough for the scrollframe to shrink around the
//longest element in the list
nsHTMLReflowState secondPassState(aReflowState);
nsHTMLReflowState firstPassState(aReflowState);
//nsHTMLReflowState firstPassState(aPresContext, nsnull,
@@ -1314,20 +1315,14 @@ nsListControlFrame::Reflow(nsIPresContext* aPresContext,
}
}
// Do a second reflow with the adjusted width and height settings
// This sets up all of the frames with the correct width and height.
secondPassState.mComputedWidth = visibleWidth;
secondPassState.mComputedHeight = visibleHeight;
secondPassState.reason = eReflowReason_Resize;
if (mPassId == 0 || mPassId == 2 || visibleHeight != scrolledAreaHeight ||
visibleWidth != scrolledAreaWidth) {
nsHTMLReflowState secondPassState(aReflowState);
// Do a second reflow with the adjusted width and height settings
// This sets up all of the frames with the correct width and
// height. Reflow with the same width constraint as for the first
// reflow. If the width is unconstrained, then we want to allow
// the listbox/dropdown to get wider if a vertical scrollbar is
// now needed.
secondPassState.mComputedWidth = aReflowState.mComputedWidth;
secondPassState.mComputedHeight = visibleHeight;
secondPassState.reason = eReflowReason_Resize;
nsHTMLScrollFrame::Reflow(aPresContext, aDesiredSize, secondPassState, aStatus);
if (aReflowState.mComputedHeight == 0) {
aDesiredSize.ascent = 0;