Index: ui/views/controls/menu/menu_image_util.cc |
diff --git a/ui/views/controls/menu/menu_image_util.cc b/ui/views/controls/menu/menu_image_util.cc |
index c45450876b03ccf4c2775a8fa6889935b2cfb0e1..6f8d6166f0c77b559aca43ac3eaacfda4c28b70b 100644 |
--- a/ui/views/controls/menu/menu_image_util.cc |
+++ b/ui/views/controls/menu/menu_image_util.cc |
@@ -51,14 +51,13 @@ class RadioButtonImageSource : public gfx::CanvasImageSource { |
static_cast<int>(kIndicatorSize * kGradientStop)); |
gradient_points[2].iset(0, kIndicatorSize); |
SkColor gradient_colors[3] = { kGradient0, kGradient1, kGradient2 }; |
- SkShader* shader = SkGradientShader::CreateLinear( |
+ skia::RefPtr<SkShader> shader = SkGradientShader::CreateLinear( |
gradient_points, gradient_colors, NULL, arraysize(gradient_points), |
SkShader::kClamp_TileMode, NULL); |
SkPaint paint; |
paint.setStyle(SkPaint::kFill_Style); |
paint.setAntiAlias(true); |
- paint.setShader(shader); |
- shader->unref(); |
+ paint.setShader(shader.get()); |
int radius = kIndicatorSize / 2; |
canvas->sk_canvas()->drawCircle(radius, radius, radius, paint); |
paint.setStrokeWidth(SkIntToScalar(0)); |
@@ -76,8 +75,7 @@ class RadioButtonImageSource : public gfx::CanvasImageSource { |
shader = SkGradientShader::CreateLinear( |
selected_gradient_points, selected_gradient_colors, NULL, |
arraysize(selected_gradient_points), SkShader::kClamp_TileMode, NULL); |
- paint.setShader(shader); |
- shader->unref(); |
+ paint.setShader(shader.get()); |
paint.setStyle(SkPaint::kFill_Style); |
canvas->sk_canvas()->drawCircle(radius, radius, |
kSelectedIndicatorSize / 2, paint); |