From 519af3f91d65a9ec8a6f49b0d078ac12271042a1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 18 Apr 2016 20:25:11 +0200 Subject: [PATCH] cssimage: Warn if gradients only have 1 color stop GTK <= 3.20 allowed that but the CSS spec and borwsers do not. We might want to just remove that feature, but for now, we just warn. --- gtk/gtkcssimagelinear.c | 8 ++++++++ gtk/gtkcssimageradial.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/gtk/gtkcssimagelinear.c b/gtk/gtkcssimagelinear.c index b4a53f5633..07ab3eacf5 100644 --- a/gtk/gtkcssimagelinear.c +++ b/gtk/gtkcssimagelinear.c @@ -352,6 +352,14 @@ gtk_css_image_linear_parse (GtkCssImage *image, } while (_gtk_css_parser_try (parser, ",", TRUE)); + if (linear->stops->len < 2) + { + _gtk_css_parser_error_full (parser, + GTK_CSS_PROVIDER_ERROR_DEPRECATED, + "Using one color stop with %s() is deprecated.", + linear->repeating ? "repeating-linear-gradient" : "linear-gradient"); + } + if (!_gtk_css_parser_try (parser, ")", TRUE)) { _gtk_css_parser_error (parser, "Missing closing bracket at end of linear gradient"); diff --git a/gtk/gtkcssimageradial.c b/gtk/gtkcssimageradial.c index bc137db7da..81967c9a80 100644 --- a/gtk/gtkcssimageradial.c +++ b/gtk/gtkcssimageradial.c @@ -377,6 +377,14 @@ gtk_css_image_radial_parse (GtkCssImage *image, } while (_gtk_css_parser_try (parser, ",", TRUE)); + if (radial->stops->len < 2) + { + _gtk_css_parser_error_full (parser, + GTK_CSS_PROVIDER_ERROR_DEPRECATED, + "Using one color stop with %s() is deprecated.", + radial->repeating ? "repeating-radial-gradient" : "radial-gradient"); + } + if (!_gtk_css_parser_try (parser, ")", TRUE)) { _gtk_css_parser_error (parser, "Missing closing bracket at end of radial gradient");