Bug 767996 - Prevent DoApplyRenderingChangeToTree calling nsSVGUtils::InvalidateBounds() and passing in an nsSVGOuterSVGFrame. r=me.

This commit is contained in:
Jonathan Watt 2012-06-25 18:55:30 +01:00
Родитель d3ac52e321
Коммит bb676c03b1
2 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -7580,7 +7580,8 @@ DoApplyRenderingChangeToTree(nsIFrame* aFrame,
// if frame has view, will already be invalidated
if (aChange & nsChangeHint_RepaintFrame) {
if (aFrame->IsFrameOfType(nsIFrame::eSVG)) {
if (aFrame->IsFrameOfType(nsIFrame::eSVG) &&
!(aFrame->GetStateBits() & NS_STATE_IS_OUTER_SVG)) {
if (aChange & nsChangeHint_UpdateEffects) {
// Invalidate and update our area:
nsSVGUtils::InvalidateAndScheduleBoundsUpdate(aFrame);

Просмотреть файл

@ -609,7 +609,8 @@ void
nsSVGUtils::InvalidateBounds(nsIFrame *aFrame, bool aDuringUpdate,
const nsRect *aBoundsSubArea, PRUint32 aFlags)
{
NS_ABORT_IF_FALSE(aFrame->IsFrameOfType(nsIFrame::eSVG),
NS_ABORT_IF_FALSE(aFrame->IsFrameOfType(nsIFrame::eSVG) &&
!(aFrame->GetStateBits() & NS_STATE_IS_OUTER_SVG),
"Passed bad frame!");
NS_ASSERTION(aDuringUpdate == OuterSVGIsCallingUpdateBounds(aFrame),