diff options
author | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2009-10-01 19:16:39 +0000 |
---|---|---|
committer | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2009-10-01 19:16:39 +0000 |
commit | a5b741a97b2162127f1b1725912d07ecd41fa825 (patch) | |
tree | dc4c8bacc07c1932415807ee459df3456d0145f5 | |
parent | 725005e1d04ed62cd5749e042164f8e184929e6c (diff) |
don't call through to the inherited saveLayer, but just call save during record
git-svn-id: http://skia.googlecode.com/svn/trunk@373 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r-- | src/core/SkPictureRecord.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index c7f2c6c041..b565fc11a8 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -45,7 +45,13 @@ int SkPictureRecord::saveLayer(const SkRect* bounds, const SkPaint* paint, fRestoreOffsetStack.push(0); validate(); - return this->INHERITED::saveLayer(bounds, paint, flags); + /* Don't actually call saveLayer, because that will try to allocate an + offscreen device (potentially very big) which we don't actually need + at this time (and may not be able to afford since during record our + clip starts out the size of the picture, which is often much larger + than the size of the actual device we'll use during playback). + */ + return this->INHERITED::save(flags); } void SkPictureRecord::restore() { |