Fix for bug #10176: changed ConstructFrameByDisplayType() to be smarter

when handling relatively positioned elements
This commit is contained in:
troy@netscape.com
1999-07-20 04:16:56 +00:00
parent 5f0d6ba550
commit edca548c79
2 changed files with 12 additions and 4 deletions

View File

@@ -3425,9 +3425,13 @@ nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext* aPre
} }
} }
// See if it's relatively positioned // See if it's relatively positioned
else if (NS_STYLE_POSITION_RELATIVE == position->mPosition) { else if ((NS_STYLE_POSITION_RELATIVE == position->mPosition) &&
((NS_STYLE_DISPLAY_BLOCK == aDisplay->mDisplay) ||
(NS_STYLE_DISPLAY_INLINE == aDisplay->mDisplay) ||
(NS_STYLE_DISPLAY_LIST_ITEM == aDisplay->mDisplay))) {
// Is it block-level or inline-level? // Is it block-level or inline-level?
if (NS_STYLE_DISPLAY_BLOCK == aDisplay->mDisplay) { if ((NS_STYLE_DISPLAY_BLOCK == aDisplay->mDisplay) &&
(NS_STYLE_DISPLAY_LIST_ITEM == aDisplay->mDisplay)) {
// Create a wrapper frame. No space manager, though // Create a wrapper frame. No space manager, though
NS_NewRelativeItemWrapperFrame(&newFrame); NS_NewRelativeItemWrapperFrame(&newFrame);
} else { } else {

View File

@@ -3425,9 +3425,13 @@ nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext* aPre
} }
} }
// See if it's relatively positioned // See if it's relatively positioned
else if (NS_STYLE_POSITION_RELATIVE == position->mPosition) { else if ((NS_STYLE_POSITION_RELATIVE == position->mPosition) &&
((NS_STYLE_DISPLAY_BLOCK == aDisplay->mDisplay) ||
(NS_STYLE_DISPLAY_INLINE == aDisplay->mDisplay) ||
(NS_STYLE_DISPLAY_LIST_ITEM == aDisplay->mDisplay))) {
// Is it block-level or inline-level? // Is it block-level or inline-level?
if (NS_STYLE_DISPLAY_BLOCK == aDisplay->mDisplay) { if ((NS_STYLE_DISPLAY_BLOCK == aDisplay->mDisplay) &&
(NS_STYLE_DISPLAY_LIST_ITEM == aDisplay->mDisplay)) {
// Create a wrapper frame. No space manager, though // Create a wrapper frame. No space manager, though
NS_NewRelativeItemWrapperFrame(&newFrame); NS_NewRelativeItemWrapperFrame(&newFrame);
} else { } else {