Index: src/pdf/SkPDFShader.cpp |
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp |
index d7a50445917e31da7cf05efa1d499271519d4a05..5395331e8afa1f338082d5137f2a85125e618109 100644 |
--- a/src/pdf/SkPDFShader.cpp |
+++ b/src/pdf/SkPDFShader.cpp |
@@ -511,7 +511,6 @@ SkPDFFunctionShader::SkPDFFunctionShader(SkPDFCanon* canon, |
: SkPDFDict("Pattern"), fCanon(canon), fShaderState(state) {} |
SkPDFFunctionShader::~SkPDFFunctionShader() { |
- fCanon->removeFunctionShader(this); |
fResources.unrefAll(); |
} |
@@ -529,9 +528,7 @@ bool SkPDFAlphaFunctionShader::equals(const SkPDFShader::State& state) const { |
return state == *fShaderState; |
} |
-SkPDFAlphaFunctionShader::~SkPDFAlphaFunctionShader() { |
- fCanon->removeAlphaShader(this); |
-} |
+SkPDFAlphaFunctionShader::~SkPDFAlphaFunctionShader() {} |
//////////////////////////////////////////////////////////////////////////////// |
@@ -543,7 +540,6 @@ bool SkPDFImageShader::equals(const SkPDFShader::State& state) const { |
} |
SkPDFImageShader::~SkPDFImageShader() { |
- fCanon->removeImageShader(this); |
fResources.unrefAll(); |
} |
@@ -705,7 +701,7 @@ SkPDFAlphaFunctionShader* SkPDFAlphaFunctionShader::Create( |
populate_tiling_pattern_dict(alphaFunctionShader, bbox, |
alphaFunctionShader->fResourceDict.get(), |
SkMatrix::I()); |
- canon->addAlphaShader(alphaFunctionShader); |
+ canon->addAlphaShader(SkRef(alphaFunctionShader)); |
return alphaFunctionShader; |
} |
@@ -906,7 +902,7 @@ SkPDFFunctionShader* SkPDFFunctionShader::Create( |
pdfFunctionShader->insert("Matrix", matrixArray.get()); |
pdfFunctionShader->insert("Shading", pdfShader.get()); |
- canon->addFunctionShader(pdfFunctionShader); |
+ canon->addFunctionShader(SkRef(pdfFunctionShader)); |
return pdfFunctionShader; |
} |
@@ -1121,7 +1117,7 @@ SkPDFImageShader* SkPDFImageShader::Create( |
imageShader->fShaderState->fImage.unlockPixels(); |
- canon->addImageShader(imageShader); |
+ canon->addImageShader(SkRef(imageShader)); |
return imageShader; |
} |