| Index: src/core/SkPaint.cpp
|
| diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
|
| index ea99ede665d786b222ee1d6530ae613529a7f84a..4e186ac379b899d203c57755dc3a7cbe9c725614 100644
|
| --- a/src/core/SkPaint.cpp
|
| +++ b/src/core/SkPaint.cpp
|
| @@ -2099,7 +2099,13 @@ void SkPaint::flatten(SkFlattenableWriteBuffer& buffer) const {
|
| buffer.writeFlattenable(this->getRasterizer());
|
| buffer.writeFlattenable(this->getLooper());
|
| buffer.writeFlattenable(this->getImageFilter());
|
| - buffer.writeFlattenable(this->getAnnotation());
|
| +
|
| + if (fAnnotation) {
|
| + buffer.writeBool(true);
|
| + fAnnotation->writeToBuffer(buffer);
|
| + } else {
|
| + buffer.writeBool(false);
|
| + }
|
| }
|
| #ifdef SK_BUILD_FOR_ANDROID
|
| if (flatFlags & kHasNonDefaultPaintOptionsAndroid_FlatFlag) {
|
| @@ -2180,7 +2186,10 @@ void SkPaint::unflatten(SkFlattenableReadBuffer& buffer) {
|
| SkSafeUnref(this->setRasterizer(buffer.readFlattenableT<SkRasterizer>()));
|
| SkSafeUnref(this->setLooper(buffer.readFlattenableT<SkDrawLooper>()));
|
| SkSafeUnref(this->setImageFilter(buffer.readFlattenableT<SkImageFilter>()));
|
| - SkSafeUnref(this->setAnnotation(buffer.readFlattenableT<SkAnnotation>()));
|
| +
|
| + if (buffer.readBool()) {
|
| + this->setAnnotation(SkNEW_ARGS(SkAnnotation, (buffer)))->unref();
|
| + }
|
| } else {
|
| this->setPathEffect(NULL);
|
| this->setShader(NULL);
|
|
|