From 6962364ebd3007b0d3f7dbb3a91ec4454b841d6c Mon Sep 17 00:00:00 2001 From: "pierre%netscape.com" Date: Mon, 24 Jan 2000 08:16:54 +0000 Subject: [PATCH] 9809 "Dynamic changes of outline properties aren't repainted". Generate a reflow when the outline changes. --- content/base/src/nsStyleContext.cpp | 8 +++++--- layout/base/src/nsStyleContext.cpp | 8 +++++--- layout/style/nsStyleContext.cpp | 8 +++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/content/base/src/nsStyleContext.cpp b/content/base/src/nsStyleContext.cpp index 436ba6f8b908..4bbc3f29948f 100644 --- a/content/base/src/nsStyleContext.cpp +++ b/content/base/src/nsStyleContext.cpp @@ -757,11 +757,13 @@ PRInt32 StyleSpacingImpl::CalcDifference(const StyleSpacingImpl& aOther) const return NS_STYLE_HINT_VISUAL; } } + if (mBorderRadius != aOther.mBorderRadius) { + return NS_STYLE_HINT_VISUAL; + } if ((mOutlineWidth != aOther.mOutlineWidth) || (mOutlineStyle != aOther.mOutlineStyle) || - (mOutlineColor != aOther.mOutlineColor) || - (mBorderRadius != aOther.mBorderRadius)) { - return NS_STYLE_HINT_VISUAL; + (mOutlineColor != aOther.mOutlineColor)) { + return NS_STYLE_HINT_REFLOW; // XXX: should be VISUAL: see bugs 9809 and 9816 } return NS_STYLE_HINT_NONE; } diff --git a/layout/base/src/nsStyleContext.cpp b/layout/base/src/nsStyleContext.cpp index 436ba6f8b908..4bbc3f29948f 100644 --- a/layout/base/src/nsStyleContext.cpp +++ b/layout/base/src/nsStyleContext.cpp @@ -757,11 +757,13 @@ PRInt32 StyleSpacingImpl::CalcDifference(const StyleSpacingImpl& aOther) const return NS_STYLE_HINT_VISUAL; } } + if (mBorderRadius != aOther.mBorderRadius) { + return NS_STYLE_HINT_VISUAL; + } if ((mOutlineWidth != aOther.mOutlineWidth) || (mOutlineStyle != aOther.mOutlineStyle) || - (mOutlineColor != aOther.mOutlineColor) || - (mBorderRadius != aOther.mBorderRadius)) { - return NS_STYLE_HINT_VISUAL; + (mOutlineColor != aOther.mOutlineColor)) { + return NS_STYLE_HINT_REFLOW; // XXX: should be VISUAL: see bugs 9809 and 9816 } return NS_STYLE_HINT_NONE; } diff --git a/layout/style/nsStyleContext.cpp b/layout/style/nsStyleContext.cpp index 436ba6f8b908..4bbc3f29948f 100644 --- a/layout/style/nsStyleContext.cpp +++ b/layout/style/nsStyleContext.cpp @@ -757,11 +757,13 @@ PRInt32 StyleSpacingImpl::CalcDifference(const StyleSpacingImpl& aOther) const return NS_STYLE_HINT_VISUAL; } } + if (mBorderRadius != aOther.mBorderRadius) { + return NS_STYLE_HINT_VISUAL; + } if ((mOutlineWidth != aOther.mOutlineWidth) || (mOutlineStyle != aOther.mOutlineStyle) || - (mOutlineColor != aOther.mOutlineColor) || - (mBorderRadius != aOther.mBorderRadius)) { - return NS_STYLE_HINT_VISUAL; + (mOutlineColor != aOther.mOutlineColor)) { + return NS_STYLE_HINT_REFLOW; // XXX: should be VISUAL: see bugs 9809 and 9816 } return NS_STYLE_HINT_NONE; }