aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/gradients/SkRadialGradient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/gradients/SkRadialGradient.cpp')
-rw-r--r--src/effects/gradients/SkRadialGradient.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp
index 4766af604b..a20ea35a1a 100644
--- a/src/effects/gradients/SkRadialGradient.cpp
+++ b/src/effects/gradients/SkRadialGradient.cpp
@@ -567,19 +567,13 @@ void GrGLRadialGradient::emitCode(GrGLShaderBuilder* builder,
bool SkRadialGradient::asNewEffect(GrContext* context, GrEffectStage* stage) const {
SkASSERT(NULL != context && NULL != stage);
- SkAutoTUnref<GrEffect> effect(SkNEW_ARGS(GrRadialGradient, (context, *this, fTileMode)));
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(GrRadialGradient, (context, *this, fTileMode)), matrix)->unref();
return true;
}