aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFShader.cpp
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-04-01 11:43:39 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-01 11:43:39 -0700
commit389666bf1fed53a92b8c320157ee5fc0d5173552 (patch)
tree268adc7cb76ecc336a43bf8d2fa48aa36a80de98 /src/pdf/SkPDFShader.cpp
parentf624204300d8cd3b2cdb933b144980ff56852d42 (diff)
SkPDF: PDFShader does not hold images/bitmaps
Diffstat (limited to 'src/pdf/SkPDFShader.cpp')
-rw-r--r--src/pdf/SkPDFShader.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp
index 5dd94e2c68..abcae7be12 100644
--- a/src/pdf/SkPDFShader.cpp
+++ b/src/pdf/SkPDFShader.cpp
@@ -452,7 +452,9 @@ private:
////////////////////////////////////////////////////////////////////////////////
SkPDFFunctionShader::SkPDFFunctionShader(SkPDFShader::State* state)
- : SkPDFDict("Pattern"), fShaderState(state) {}
+ : SkPDFDict("Pattern"), fShaderState(state) {
+ state->fImage.reset();
+}
SkPDFFunctionShader::~SkPDFFunctionShader() {}
@@ -463,7 +465,9 @@ bool SkPDFFunctionShader::equals(const SkPDFShader::State& state) const {
////////////////////////////////////////////////////////////////////////////////
SkPDFAlphaFunctionShader::SkPDFAlphaFunctionShader(SkPDFShader::State* state)
- : fShaderState(state) {}
+ : fShaderState(state) {
+ state->fImage.reset();
+}
bool SkPDFAlphaFunctionShader::equals(const SkPDFShader::State& state) const {
return state == *fShaderState;
@@ -474,7 +478,9 @@ SkPDFAlphaFunctionShader::~SkPDFAlphaFunctionShader() {}
////////////////////////////////////////////////////////////////////////////////
SkPDFImageShader::SkPDFImageShader(SkPDFShader::State* state)
- : fShaderState(state) {}
+ : fShaderState(state) {
+ state->fImage.reset();
+}
bool SkPDFImageShader::equals(const SkPDFShader::State& state) const {
return state == *fShaderState;