| Index: src/core/SkPaint.cpp
|
| diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
|
| index 8d62a6aaf42ad2a7d988d504e4225cc09339d2ba..e4eca0cf990fbaec58596b16e50c403d3def8050 100644
|
| --- a/src/core/SkPaint.cpp
|
| +++ b/src/core/SkPaint.cpp
|
| @@ -380,7 +380,9 @@ SET_PTR(Shader)
|
| #ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR
|
| SET_PTR(ColorFilter)
|
| #endif
|
| +#ifdef SK_SUPPORT_LEGACY_XFERMODE_PTR
|
| SET_PTR(Xfermode)
|
| +#endif
|
| #ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR
|
| SET_PTR(PathEffect)
|
| #endif
|
| @@ -395,8 +397,8 @@ SkDrawLooper* SkPaint::setLooper(SkDrawLooper* looper) {
|
| #endif
|
|
|
| SkXfermode* SkPaint::setXfermodeMode(SkXfermode::Mode mode) {
|
| - fXfermode.reset(SkXfermode::Create(mode));
|
| - return fXfermode.get();
|
| + fXfermode = SkXfermode::Make(mode);
|
| + return fXfermode.get(); // can/should we change this API to be void, like the other setters?
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
| @@ -1927,7 +1929,7 @@ void SkPaint::unflatten(SkReadBuffer& buffer) {
|
| if (flatFlags & kHasEffects_FlatFlag) {
|
| this->setPathEffect(buffer.readPathEffect());
|
| this->setShader(buffer.readShader());
|
| - SkSafeUnref(this->setXfermode(buffer.readXfermode()));
|
| + this->setXfermode(buffer.readXfermode());
|
| SkSafeUnref(this->setMaskFilter(buffer.readMaskFilter()));
|
| this->setColorFilter(buffer.readColorFilter());
|
| this->setRasterizer(buffer.readRasterizer());
|
|
|