Chromium Code Reviews| Index: src/core/SkFontDescriptor.cpp |
| diff --git a/src/core/SkFontDescriptor.cpp b/src/core/SkFontDescriptor.cpp |
| index 8348d5fdba44ce16451964eb43fc31e9fc40f886..69001ae418c9bf031ef2e2da5916b4af6fdcd4e1 100644 |
| --- a/src/core/SkFontDescriptor.cpp |
| +++ b/src/core/SkFontDescriptor.cpp |
| @@ -58,8 +58,8 @@ static void write_uint(SkWStream* stream, size_t n, uint32_t id) { |
| stream->writePackedUInt(n); |
| } |
| -SkFontDescriptor::SkFontDescriptor(SkStream* stream) { |
| - fStyle = (SkTypeface::Style)stream->readPackedUInt(); |
| +bool SkFontDescriptor::Deserialize(SkStream* stream, SkFontDescriptor* result) { |
| + result->fStyle = (SkTypeface::Style)stream->readPackedUInt(); |
| SkAutoSTMalloc<4, SkFixed> axis; |
| size_t axisCount = 0; |
| @@ -67,13 +67,13 @@ SkFontDescriptor::SkFontDescriptor(SkStream* stream) { |
| for (size_t id; (id = stream->readPackedUInt()) != kSentinel;) { |
| switch (id) { |
| case kFontFamilyName: |
| - read_string(stream, &fFamilyName); |
| + read_string(stream, &result->fFamilyName); |
| break; |
| case kFullName: |
| - read_string(stream, &fFullName); |
| + read_string(stream, &result->fFullName); |
| break; |
| case kPostscriptName: |
| - read_string(stream, &fPostscriptName); |
| + read_string(stream, &result->fPostscriptName); |
| break; |
| case kFontAxes: |
| axisCount = read_uint(stream); |
| @@ -90,7 +90,7 @@ SkFontDescriptor::SkFontDescriptor(SkStream* stream) { |
| break; |
| default: |
| SkDEBUGFAIL("Unknown id used by a font descriptor"); |
| - return; |
| + return false; |
| } |
| } |
| @@ -98,9 +98,13 @@ SkFontDescriptor::SkFontDescriptor(SkStream* stream) { |
| if (length > 0) { |
| SkAutoTUnref<SkData> data(SkData::NewUninitialized(length)); |
| if (stream->read(data->writable_data(), length) == length) { |
| - fFontData.reset(new SkFontData(new SkMemoryStream(data), index, axis, axisCount)); |
| + result->fFontData.reset(new SkFontData(new SkMemoryStream(data), |
| + index, axis, axisCount)); |
| + } else { |
| + return false; |
|
bungeman-skia
2016/02/25 15:41:17
For consistency with the above 'default' handling,
robertphillips
2016/02/25 15:53:22
Done.
|
| } |
| } |
| + return true; |
| } |
| void SkFontDescriptor::serialize(SkWStream* stream) { |