Chromium Code Reviews| Index: src/core/SkOrderedWriteBuffer.cpp |
| diff --git a/src/core/SkOrderedWriteBuffer.cpp b/src/core/SkOrderedWriteBuffer.cpp |
| index 9c31b4c4d7309c71b775376a8422da0bd19bd91c..1c15e43ef02eb08d7d434c2b893e0a1488f069ab 100644 |
| --- a/src/core/SkOrderedWriteBuffer.cpp |
| +++ b/src/core/SkOrderedWriteBuffer.cpp |
| @@ -270,7 +270,10 @@ void SkOrderedWriteBuffer::writeFlattenable(const SkFlattenable* flattenable) { |
| factory = flattenable->getFactory(); |
| } |
| if (NULL == factory) { |
| - if (fFactorySet != NULL || fNamedFactorySet != NULL) { |
| + if (this->isValidating()) { |
| + this->writeString(""); |
|
Stephen White
2013/10/21 21:22:37
Will this change the serialization of SkPictures?
scroggo
2013/10/21 21:37:22
I'm guessing this is fine - I think isValidating s
|
| + SkASSERT(NULL == flattenable); // We shouldn't get in here in this scenario |
| + } else if (fFactorySet != NULL || fNamedFactorySet != NULL) { |
| this->write32(0); |
| } else { |
| this->writeFunctionPtr(NULL); |
| @@ -290,7 +293,9 @@ void SkOrderedWriteBuffer::writeFlattenable(const SkFlattenable* flattenable) { |
| * name. SkGPipe uses this technique so it can write the name to its |
| * stream before writing the flattenable. |
| */ |
| - if (fFactorySet) { |
| + if (this->isValidating()) { |
| + this->writeString(flattenable->getTypeName()); |
| + } else if (fFactorySet) { |
| this->write32(fFactorySet->add(factory)); |
| } else if (fNamedFactorySet) { |
| int32_t index = fNamedFactorySet->find(factory); |