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; |
} |
} |