Fix some ref leaks

Review URL: http://codereview.appspot.com/4837068/



git-svn-id: http://skia.googlecode.com/svn/trunk@2082 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp
index 620a895..692df0e 100644
--- a/gpu/src/GrGpuGL.cpp
+++ b/gpu/src/GrGpuGL.cpp
@@ -598,7 +598,7 @@
                           kTextureRenderTarget_GrPlatformSurfaceType == desc.fSurfaceType;
 
     GrGLRenderTarget::Desc rtDesc;
-    GrGLStencilBuffer* sb = NULL;
+    SkAutoTUnref<GrGLStencilBuffer> sb;
 
     if (isRenderTarget) {
         rtDesc.fRTFBOID = desc.fPlatformRenderTarget;
@@ -638,8 +638,8 @@
             format.fPacked = false;
             format.fStencilBits = desc.fStencilBits;
             format.fTotalBits = desc.fStencilBits;
-            sb = new GrGLStencilBuffer(this, 0, desc.fWidth,
-                                       desc.fHeight, rtDesc.fSampleCnt, format);
+            sb.reset(new GrGLStencilBuffer(this, 0, desc.fWidth, desc.fHeight,
+                                           rtDesc.fSampleCnt, format));
         }
         rtDesc.fOwnIDs = false;
     }
@@ -667,7 +667,7 @@
         params.invalidate(); // rather than do glGets.
         if (isRenderTarget) {
             GrTexture* tex = new GrGLTexture(this, texDesc, rtDesc, params);
-            tex->asRenderTarget()->setStencilBuffer(sb);
+            tex->asRenderTarget()->setStencilBuffer(sb.get());
             return tex;
         } else {
             return new GrGLTexture(this, texDesc, params);
@@ -680,7 +680,7 @@
         viewport.fHeight = desc.fHeight;
 
         GrGLRenderTarget* rt =  new GrGLRenderTarget(this, rtDesc, viewport);
-        rt->setStencilBuffer(sb);
+        rt->setStencilBuffer(sb.get());
         return rt;
     }
 }
@@ -839,7 +839,7 @@
     int stencilBits = get_fbo_stencil_bits(arbFBO);
     GR_GL_GetIntegerv(GR_GL_SAMPLES, &rtDesc.fSampleCnt);
 
-    GrGLStencilBuffer* sb = NULL;
+    SkAutoTUnref<GrGLStencilBuffer> sb;
     if (stencilBits) {
         GrGLStencilBuffer::Format format;
         // we could query this but we don't really need it
@@ -847,9 +847,9 @@
         format.fPacked = false;
         format.fStencilBits = stencilBits;
         format.fTotalBits = stencilBits;
-        sb = new GrGLStencilBuffer(this, 0, viewport.fWidth,
-                                   viewport.fHeight, rtDesc.fSampleCnt,
-                                   format);
+        sb.reset(new GrGLStencilBuffer(this, 0, viewport.fWidth,
+                                       viewport.fHeight, rtDesc.fSampleCnt,
+                                       format));
     }
 
     GrGLenum fmat = get_fbo_color_format();
@@ -865,7 +865,7 @@
     rtDesc.fOwnIDs = false;
 
     GrGLRenderTarget* target = new GrGLRenderTarget(this, rtDesc, viewport);
-    target->setStencilBuffer(sb);
+    target->setStencilBuffer(sb.get());
     return target;
 }