diff options
Diffstat (limited to 'src/effects/gradients/SkSweepGradient.cpp')
-rw-r--r-- | src/effects/gradients/SkSweepGradient.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/effects/gradients/SkSweepGradient.cpp b/src/effects/gradients/SkSweepGradient.cpp index b64e15d0c1..a783e3757c 100644 --- a/src/effects/gradients/SkSweepGradient.cpp +++ b/src/effects/gradients/SkSweepGradient.cpp @@ -473,19 +473,12 @@ void GrGLSweepGradient::emitCode(GrGLShaderBuilder* builder, ///////////////////////////////////////////////////////////////////// bool SkSweepGradient::asNewEffect(GrContext* context, GrEffectStage* stage) const { - SkAutoTUnref<GrEffect> effect(SkNEW_ARGS(GrSweepGradient, (context, *this))); - SkMatrix matrix; - if (this->getLocalMatrix(&matrix)) { - if (!matrix.invert(&matrix)) { - return false; - } - matrix.postConcat(fPtsToUnit); - stage->setEffect(effect, matrix); - } else { - stage->setEffect(effect, fPtsToUnit); + if (!this->getLocalMatrix().invert(&matrix)) { + return false; } - + matrix.postConcat(fPtsToUnit); + stage->setEffect(SkNEW_ARGS(GrSweepGradient, (context, *this)), matrix)->unref(); return true; } |