aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2016-11-12 08:06:55 -0600
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-13 18:31:13 +0000
commit5df4934b3e40cdc378e225d1dda39f015cae9bae (patch)
treef0871dcbca35730333ad3b14115e6a14987fac7b /src/image
parentf982cb37e3092e7a69c13a12ec09806ceff5af45 (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.cpp3
-rw-r--r--src/image/SkSurface_Base.h8
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) {