Chromium Code Reviews| Index: src/core/SkDescriptor.h |
| diff --git a/src/core/SkDescriptor.h b/src/core/SkDescriptor.h |
| index 22ec29316fd30094ed6ad36cff8150acde8808cd..4df5d8fcc287c186ff36fb48a1fb4744929bdf4c 100644 |
| --- a/src/core/SkDescriptor.h |
| +++ b/src/core/SkDescriptor.h |
| @@ -134,12 +134,9 @@ private: |
| class SkAutoDescriptor : SkNoncopyable { |
| public: |
| + SkAutoDescriptor() : fDesc(NULL) {} |
| SkAutoDescriptor(size_t size) { |
| - if (size <= sizeof(fStorage)) { |
| - fDesc = (SkDescriptor*)(void*)fStorage; |
| - } else { |
| - fDesc = SkDescriptor::Alloc(size); |
| - } |
| + this->reset(size); |
| } |
| ~SkAutoDescriptor() { |
| @@ -148,7 +145,15 @@ public: |
| } |
| } |
| - SkDescriptor* getDesc() const { return fDesc; } |
| + void reset(size_t size) { |
| + if (size <= sizeof(fStorage)) { |
|
bsalomon
2015/03/31 21:19:10
don't you need to free the old one here?
joshualitt
2015/04/01 13:21:17
Acknowledged.
|
| + fDesc = (SkDescriptor*)(void*)fStorage; |
| + } else { |
| + fDesc = SkDescriptor::Alloc(size); |
| + } |
| + } |
| + |
| + SkDescriptor* getDesc() const { SkASSERT(fDesc); return fDesc; } |
| private: |
| enum { |
| kStorageSize = sizeof(SkDescriptor) |