diff options
| author | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-03-29 20:52:23 +0000 |
|---|---|---|
| committer | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-03-29 20:52:23 +0000 |
| commit | 11f0b519766dabed4ce882f3ee7c07a68d3ccb52 (patch) | |
| tree | a24df14209f74dac930584f0cc22d8e72ae06517 /samplecode/SampleApp.cpp | |
| parent | cf3edc9c972ce1696d1fe21dcddbabbca2999361 (diff) | |
Fix ref leak on GrGpu.
Review URL: http://codereview.appspot.com/4323043/
git-svn-id: http://skia.googlecode.com/svn/trunk@1015 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleApp.cpp')
| -rw-r--r-- | samplecode/SampleApp.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index 0cc85fef01..c71326bb74 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -342,6 +342,13 @@ bool SampleWindow::make3DReady() { #if defined(SK_SUPPORT_GL) if (attachGL()) { +#if 0 + if (NULL != fGrContext) { + GrAssert(1 == fGrContext->refcnt()); + fGrContext->unref(); + fGrContext = NULL; + } +#endif if (NULL == fGrContext) { #if defined(SK_USE_SHADERS) fGrContext = GrContext::Create(GrGpu::kOpenGL_Shaders_Engine, NULL); @@ -490,14 +497,14 @@ void SampleWindow::draw(SkCanvas* canvas) { m.mapXY(cx, cy, ¢er); cx = center.fX; cy = center.fY; - + m.setTranslate(-cx, -cy); m.postScale(fZoomScale, fZoomScale); m.postTranslate(cx, cy); - + canvas->concat(m); } - + // Apply any gesture matrix if (true) { const SkMatrix& localM = fGesture.localM(); @@ -506,12 +513,12 @@ void SampleWindow::draw(SkCanvas* canvas) { } canvas->concat(localM); canvas->concat(fGesture.globalM()); - + if (fGesture.isActive()) { this->inval(NULL); } } - + if (fNClip) { this->INHERITED::draw(canvas); SkBitmap orig = capture_bitmap(canvas); @@ -684,7 +691,7 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) { bitmap.width(), bitmap.height(), false, false); fGpuCanvas->setDevice(device)->unref(); - + fGpuCanvas->concat(canvas->getTotalMatrix()); canvas = fGpuCanvas; |
