Add operator = to GrPaint
Review URL: http://codereview.appspot.com/4997045/
git-svn-id: http://skia.googlecode.com/svn/trunk@2248 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/include/GrPaint.h b/gpu/include/GrPaint.h
index 59f622b..3b4b849 100644
--- a/gpu/include/GrPaint.h
+++ b/gpu/include/GrPaint.h
@@ -108,6 +108,16 @@
}
GrPaint(const GrPaint& paint) {
+ for (int i = 0; i < kMaxTextures; ++i) {
+ fTextures[i] = NULL;
+ }
+ for (int i = 0; i < kMaxMasks; ++i) {
+ fMaskTextures[i] = NULL;
+ }
+ *this = paint;
+ }
+
+ GrPaint& operator=(const GrPaint& paint) {
fSrcBlendCoeff = paint.fSrcBlendCoeff;
fDstBlendCoeff = paint.fDstBlendCoeff;
fAntiAlias = paint.fAntiAlias;
@@ -119,15 +129,18 @@
fColorFilterXfermode = paint.fColorFilterXfermode;
for (int i = 0; i < kMaxTextures; ++i) {
+ GrSafeUnref(fTextures[i]);
fTextureSamplers[i] = paint.fTextureSamplers[i];
fTextures[i] = paint.fTextures[i];
GrSafeRef(fTextures[i]);
}
for (int i = 0; i < kMaxMasks; ++i) {
+ GrSafeUnref(fMaskTextures[i]);
fMaskSamplers[i] = paint.fMaskSamplers[i];
fMaskTextures[i] = paint.fMaskTextures[i];
GrSafeRef(fMaskTextures[i]);
}
+ return *this;
}
~GrPaint() {