From 2b71f12671cdf86d414fbe409447329cd0252198 Mon Sep 17 00:00:00 2001 From: "reed@reedloden.com" Date: Thu, 8 Nov 2007 22:49:38 -0800 Subject: [PATCH] Bug 402338 - "outline property on inline-block painted too far outside" [p=roc r+sr=dbaron a=blocking1.9+] --- layout/generic/nsLineLayout.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/layout/generic/nsLineLayout.cpp b/layout/generic/nsLineLayout.cpp index f43e189ac422..0e728ec4cfe5 100644 --- a/layout/generic/nsLineLayout.cpp +++ b/layout/generic/nsLineLayout.cpp @@ -2635,11 +2635,13 @@ nsLineLayout::RelativePositionFrames(PerSpanData* psd, nsRect& aCombinedArea) RelativePositionFrames(pfd->mSpan, r); } else { r = pfd->mCombinedArea; - if (pfd->GetFlag(PFD_RECOMPUTEOVERFLOW)) { - nsTextFrame* f = static_cast(frame); - r = f->RecomputeOverflowRect(); + if (pfd->GetFlag(PFD_ISTEXTFRAME)) { + if (pfd->GetFlag(PFD_RECOMPUTEOVERFLOW)) { + nsTextFrame* f = static_cast(frame); + r = f->RecomputeOverflowRect(); + } + frame->FinishAndStoreOverflow(&r, frame->GetSize()); } - frame->FinishAndStoreOverflow(&r, frame->GetSize()); // If we have something that's not an inline but with a complex frame // hierarchy inside that contains views, they need to be