diff options
author | Mike Reed <reed@google.com> | 2016-11-12 08:06:55 -0600 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-11-13 18:31:13 +0000 |
commit | 5df4934b3e40cdc378e225d1dda39f015cae9bae (patch) | |
tree | f0871dcbca35730333ad3b14115e6a14987fac7b /src/image | |
parent | f982cb37e3092e7a69c13a12ec09806ceff5af45 (diff) |
Revert[2] "Change SkCanvas to *not* inherit from SkRefCnt"
Changes over original:
- conditionalize ownership in SkPictureRecorder
- conditionalize ownership in SkCanvasStateUtils
This reverts commit b613c266df48cf45296ecc23d1bd7098c84bb7ba.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4742
Change-Id: Ib25514d6f546c69b6650b5c957403b04f7380dc2
Reviewed-on: https://skia-review.googlesource.com/4742
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/image')
-rw-r--r-- | src/image/SkSurface.cpp | 3 | ||||
-rw-r--r-- | src/image/SkSurface_Base.h | 8 |
2 files changed, 4 insertions, 7 deletions
diff --git a/src/image/SkSurface.cpp b/src/image/SkSurface.cpp index 38bab9e32f..3d6670f169 100644 --- a/src/image/SkSurface.cpp +++ b/src/image/SkSurface.cpp @@ -58,14 +58,12 @@ SkSurfaceProps::SkSurfaceProps(const SkSurfaceProps& other) SkSurface_Base::SkSurface_Base(int width, int height, const SkSurfaceProps* props) : INHERITED(width, height, props) { - fCachedCanvas = nullptr; fCachedImage = nullptr; } SkSurface_Base::SkSurface_Base(const SkImageInfo& info, const SkSurfaceProps* props) : INHERITED(info, props) { - fCachedCanvas = nullptr; fCachedImage = nullptr; } @@ -76,7 +74,6 @@ SkSurface_Base::~SkSurface_Base() { } SkSafeUnref(fCachedImage); - SkSafeUnref(fCachedCanvas); } void SkSurface_Base::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPaint* paint) { diff --git a/src/image/SkSurface_Base.h b/src/image/SkSurface_Base.h index 8351bb87e6..a8c1d8f0a4 100644 --- a/src/image/SkSurface_Base.h +++ b/src/image/SkSurface_Base.h @@ -89,8 +89,8 @@ public: uint32_t newGenerationID(); private: - SkCanvas* fCachedCanvas; - SkImage* fCachedImage; + std::unique_ptr<SkCanvas> fCachedCanvas; + SkImage* fCachedImage; void aboutToDraw(ContentChangeMode mode); @@ -106,12 +106,12 @@ private: SkCanvas* SkSurface_Base::getCachedCanvas() { if (nullptr == fCachedCanvas) { - fCachedCanvas = this->onNewCanvas(); + fCachedCanvas = std::unique_ptr<SkCanvas>(this->onNewCanvas()); if (fCachedCanvas) { fCachedCanvas->setSurfaceBase(this); } } - return fCachedCanvas; + return fCachedCanvas.get(); } sk_sp<SkImage> SkSurface_Base::refCachedImage(SkBudgeted budgeted, ForceUnique unique) { |