diff options
-rw-r--r-- | include/core/SkFlattenable.h | 6 | ||||
-rw-r--r-- | src/core/SkFlattenableSerialization.cpp | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/core/SkFlattenable.h b/include/core/SkFlattenable.h index 5faf7c2317..eaaf9c3d92 100644 --- a/include/core/SkFlattenable.h +++ b/include/core/SkFlattenable.h @@ -64,6 +64,12 @@ struct SkDeserialProcs; } \ Type getFlattenableType() const override { \ return k##flattenable##_Type; \ + } \ + static sk_sp<flattenable> Deserialize(const void* data, size_t size, \ + const SkDeserialProcs* procs = nullptr) { \ + return sk_sp<flattenable>(static_cast<flattenable*>( \ + SkFlattenable::Deserialize( \ + k##flattenable##_Type, data, size, procs).release()));\ } /** \class SkFlattenable diff --git a/src/core/SkFlattenableSerialization.cpp b/src/core/SkFlattenableSerialization.cpp index 3976010fb2..b2d4aa83f6 100644 --- a/src/core/SkFlattenableSerialization.cpp +++ b/src/core/SkFlattenableSerialization.cpp @@ -19,6 +19,5 @@ SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size, } sk_sp<SkImageFilter> SkValidatingDeserializeImageFilter(const void* data, size_t size) { - auto flat = SkFlattenable::Deserialize(SkFlattenable::kSkImageFilter_Type, data, size); - return sk_sp<SkImageFilter>(static_cast<SkImageFilter*>(flat.release())); + return SkImageFilter::Deserialize(data, size); } |