| Index: src/core/SkColorFilter.cpp
|
| diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
|
| index 59a625d0b6d4b0b7f54a3b0354d3f5992fe2d4e1..dab4ccf7b55d09f8aa791804c3bb5e1bb176cf33 100644
|
| --- a/src/core/SkColorFilter.cpp
|
| +++ b/src/core/SkColorFilter.cpp
|
| @@ -114,15 +114,14 @@
|
|
|
| protected:
|
| void flatten(SkWriteBuffer& buffer) const override {
|
| - buffer.writeFlattenable(fOuter.get());
|
| - buffer.writeFlattenable(fInner.get());
|
| + buffer.writeFlattenable(fOuter);
|
| + buffer.writeFlattenable(fInner);
|
| }
|
|
|
| private:
|
| - SkComposeColorFilter(sk_sp<SkColorFilter> outer, sk_sp<SkColorFilter> inner,
|
| - int composedFilterCount)
|
| - : fOuter(std::move(outer))
|
| - , fInner(std::move(inner))
|
| + SkComposeColorFilter(SkColorFilter* outer, SkColorFilter* inner, int composedFilterCount)
|
| + : fOuter(SkRef(outer))
|
| + , fInner(SkRef(inner))
|
| , fComposedFilterCount(composedFilterCount)
|
| {
|
| SkASSERT(composedFilterCount >= 2);
|
| @@ -133,9 +132,9 @@
|
| return fComposedFilterCount;
|
| }
|
|
|
| - sk_sp<SkColorFilter> fOuter;
|
| - sk_sp<SkColorFilter> fInner;
|
| - const int fComposedFilterCount;
|
| + SkAutoTUnref<SkColorFilter> fOuter;
|
| + SkAutoTUnref<SkColorFilter> fInner;
|
| + const int fComposedFilterCount;
|
|
|
| friend class SkColorFilter;
|
|
|
| @@ -143,24 +142,23 @@
|
| };
|
|
|
| SkFlattenable* SkComposeColorFilter::CreateProc(SkReadBuffer& buffer) {
|
| - sk_sp<SkColorFilter> outer(buffer.readColorFilter());
|
| - sk_sp<SkColorFilter> inner(buffer.readColorFilter());
|
| - return MakeComposeFilter(std::move(outer), std::move(inner)).release();
|
| + SkAutoTUnref<SkColorFilter> outer(buffer.readColorFilter());
|
| + SkAutoTUnref<SkColorFilter> inner(buffer.readColorFilter());
|
| + return CreateComposeFilter(outer, inner);
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
| -sk_sp<SkColorFilter> SkColorFilter::MakeComposeFilter(sk_sp<SkColorFilter> outer,
|
| - sk_sp<SkColorFilter> inner) {
|
| +SkColorFilter* SkColorFilter::CreateComposeFilter(SkColorFilter* outer, SkColorFilter* inner) {
|
| if (!outer) {
|
| - return inner;
|
| + return SkSafeRef(inner);
|
| }
|
| if (!inner) {
|
| - return outer;
|
| + return SkSafeRef(outer);
|
| }
|
|
|
| // Give the subclass a shot at a more optimal composition...
|
| - auto composition = outer->makeComposed(inner);
|
| + SkColorFilter* composition = outer->newComposed(inner);
|
| if (composition) {
|
| return composition;
|
| }
|
| @@ -169,7 +167,7 @@
|
| if (count > SK_MAX_COMPOSE_COLORFILTER_COUNT) {
|
| return nullptr;
|
| }
|
| - return sk_sp<SkColorFilter>(new SkComposeColorFilter(std::move(outer), std::move(inner),count));
|
| + return new SkComposeColorFilter(outer, inner, count);
|
| }
|
|
|
| #include "SkModeColorFilter.h"
|
|
|