aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFShader.cpp
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-03-19 17:19:05 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-03-19 17:19:05 +0000
commit66bedbb02dbd252f46c1fad862d0561a0bb3f94b (patch)
tree79627a69234e8df7883dfbc9243c7120aba2952e /src/pdf/SkPDFShader.cpp
parentf315451f78760e6e2066c09da3644ce93e0580e6 (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.cpp18
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);