Index: gm/colortypexfermode.cpp |
diff --git a/gm/colortypexfermode.cpp b/gm/colortypexfermode.cpp |
index 058b92d223f01983b5967a79a1f0715f5da4a6f4..36db2aa3f5f861bbc6b0216540357248ca6022f4 100644 |
--- a/gm/colortypexfermode.cpp |
+++ b/gm/colortypexfermode.cpp |
@@ -19,7 +19,13 @@ |
public: |
const static int W = 64; |
const static int H = 64; |
- ColorTypeXfermodeGM() {} |
+ ColorTypeXfermodeGM() |
+ : fColorType(nullptr) { |
+ } |
+ |
+ virtual ~ColorTypeXfermodeGM() { |
+ SkSafeUnref(fColorType); |
+ } |
protected: |
void onOnceBeforeDraw() override { |
@@ -34,11 +40,12 @@ |
paint.setShader(SkGradientShader::MakeSweep(0, 0, colors, nullptr, SK_ARRAY_COUNT(colors), |
0, &local)); |
- sk_sp<SkTypeface> orig(sk_tool_utils::create_portable_typeface("serif", SkTypeface::kBold)); |
+ SkTypeface* orig = sk_tool_utils::create_portable_typeface("serif", SkTypeface::kBold); |
if (nullptr == orig) { |
- orig = SkTypeface::MakeDefault(); |
+ orig = SkTypeface::RefDefault(); |
} |
- fColorType = sk_make_sp<SkGTypeface>(orig, paint); |
+ fColorType = new SkGTypeface(orig, paint); |
+ orig->unref(); |
fBG.installPixels(SkImageInfo::Make(2, 2, kARGB_4444_SkColorType, |
kOpaque_SkAlphaType), gData, 4); |
@@ -142,8 +149,8 @@ |
} |
private: |
- SkBitmap fBG; |
- sk_sp<SkTypeface> fColorType; |
+ SkBitmap fBG; |
+ SkTypeface* fColorType; |
typedef GM INHERITED; |
}; |