Bug 312376 - repair textPath from bug 311063 checkin. r=afri

This commit is contained in:
tor%cs.brown.edu 2005-10-17 15:29:38 +00:00
parent 46b9d55bf7
commit 7016d8085d
2 changed files with 13 additions and 12 deletions

View File

@ -83,7 +83,7 @@ nsSVGTSpanFrame::~nsSVGTSpanFrame()
nsCOMPtr<nsIDOMSVGTextPositioningElement> element = do_QueryInterface(mContent);
// clean up our listener refs:
{
if (element) {
nsCOMPtr<nsIDOMSVGAnimatedLengthList> animLengthList;
element->GetX(getter_AddRefs(animLengthList));
if (animLengthList) {
@ -94,7 +94,7 @@ nsSVGTSpanFrame::~nsSVGTSpanFrame()
}
}
{
if (element) {
nsCOMPtr<nsIDOMSVGAnimatedLengthList> animLengthList;
element->GetY(getter_AddRefs(animLengthList));
if (animLengthList) {

View File

@ -98,6 +98,8 @@ private:
nsCOMPtr<nsIDOMSVGLength> mStartOffset;
nsCOMPtr<nsIDOMSVGAnimatedString> mHref;
nsCOMPtr<nsIDOMSVGPathSegList> mSegments;
nsCOMPtr<nsISVGLengthList> mX;
};
NS_INTERFACE_MAP_BEGIN(nsSVGTextPathFrame)
@ -157,6 +159,13 @@ nsSVGTextPathFrame::InitSVG()
NS_ASSERTION(mStartOffset, "no startOffset");
if (!mStartOffset)
return NS_ERROR_FAILURE;
NS_NewSVGLengthList(getter_AddRefs(mX));
if (mX) {
nsCOMPtr<nsIDOMSVGLength> length;
mX->AppendItem(mStartOffset, getter_AddRefs(length));
}
NS_ADD_SVGVALUE_OBSERVER(mStartOffset);
}
@ -169,10 +178,6 @@ nsSVGTextPathFrame::InitSVG()
NS_ADD_SVGVALUE_OBSERVER(mHref);
}
nsresult rv = nsSVGTextPathFrameBase::InitSVG();
if (NS_FAILED(rv))
return rv;
return NS_OK;
}
@ -186,12 +191,8 @@ nsSVGTextPathFrame::GetType() const
NS_IMETHODIMP_(already_AddRefed<nsIDOMSVGLengthList>)
nsSVGTextPathFrame::GetX()
{
nsISVGLengthList *retval;
NS_NewSVGLengthList(&retval);
nsCOMPtr<nsIDOMSVGLength> length;
retval->AppendItem(mStartOffset, getter_AddRefs(length));
nsISVGLengthList *retval = mX;
NS_IF_ADDREF(retval);
return retval;
}