Chromium Code Reviews| Index: include/gpu/GrGpuResourceRef.h |
| diff --git a/include/gpu/GrGpuResourceRef.h b/include/gpu/GrGpuResourceRef.h |
| index 93298f0656f4e5e03529c27e04e59233c0dba1bc..05414702be8189181e5cc6f4efc93700822c6cab 100644 |
| --- a/include/gpu/GrGpuResourceRef.h |
| +++ b/include/gpu/GrGpuResourceRef.h |
| @@ -159,18 +159,23 @@ private: |
| */ |
| template <typename T, GrIOType IO_TYPE> class GrPendingIOResource : SkNoncopyable { |
| public: |
| - GrPendingIOResource(T* resource) : fResource(resource) { |
| - if (NULL != fResource) { |
| + GrPendingIOResource(T* resource = NULL) { |
| + this->set(resource); |
| + } |
| + |
| + void set(T* resource) { |
|
bsalomon
2014/11/18 20:48:31
Shouldn't this check whether the resource was alre
|
| + fResource = resource; |
| + if (NULL != resource) { |
| switch (IO_TYPE) { |
| case kRead_GrIOType: |
| - fResource->addPendingRead(); |
| + resource->addPendingRead(); |
| break; |
| case kWrite_GrIOType: |
| - fResource->addPendingWrite(); |
| + resource->addPendingWrite(); |
| break; |
| case kRW_GrIOType: |
| - fResource->addPendingRead(); |
| - fResource->addPendingWrite(); |
| + resource->addPendingRead(); |
| + resource->addPendingWrite(); |
| break; |
| } |
| } |