diff options
author | 2013-03-19 17:19:05 +0000 | |
---|---|---|
committer | 2013-03-19 17:19:05 +0000 | |
commit | 66bedbb02dbd252f46c1fad862d0561a0bb3f94b (patch) | |
tree | 79627a69234e8df7883dfbc9243c7120aba2952e /src/pdf/SkPDFShader.cpp | |
parent | f315451f78760e6e2066c09da3644ce93e0580e6 (diff) |
resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we added capability to collect minidump and callstack if buildbot fails with heap coruption in windows. a few minor conflicts have been resolved)
Review URL: https://codereview.chromium.org/12840004
git-svn-id: http://skia.googlecode.com/svn/trunk@8233 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/pdf/SkPDFShader.cpp')
-rw-r--r-- | src/pdf/SkPDFShader.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp index 7958de38ce..b3e57cb951 100644 --- a/src/pdf/SkPDFShader.cpp +++ b/src/pdf/SkPDFShader.cpp @@ -425,8 +425,11 @@ public: virtual bool isValid() { return fResources.count() > 0; } - void getResources(SkTDArray<SkPDFObject*>* resourceList) { - GetResourcesHelper(&fResources, resourceList); + void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects, + SkTSet<SkPDFObject*>* newResourceObjects) { + GetResourcesHelper(&fResources, + knownResourceObjects, + newResourceObjects); } private: @@ -448,12 +451,15 @@ public: virtual bool isValid() { return size() > 0; } - void getResources(SkTDArray<SkPDFObject*>* resourceList) { - GetResourcesHelper(&fResources, resourceList); + void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects, + SkTSet<SkPDFObject*>* newResourceObjects) { + GetResourcesHelper(&fResources.toArray(), + knownResourceObjects, + newResourceObjects); } private: - SkTDArray<SkPDFObject*> fResources; + SkTSet<SkPDFObject*> fResources; SkAutoTDelete<const SkPDFShader::State> fState; }; @@ -832,7 +838,7 @@ SkPDFImageShader::SkPDFImageShader(SkPDFShader::State* state) : fState(state) { // Put the canvas into the pattern stream (fContent). SkAutoTUnref<SkStream> content(pattern.content()); setData(content.get()); - pattern.getResources(&fResources, false); + pattern.getResources(fResources, &fResources, false); insertName("Type", "Pattern"); insertInt("PatternType", 1); |