[gtk+] cssimage: Warn if gradients only have 1 color stop



commit 519af3f91d65a9ec8a6f49b0d078ac12271042a1
Author: Benjamin Otte <otte redhat com>
Date:   Mon Apr 18 20:25:11 2016 +0200

    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(+), 0 deletions(-)
---
diff --git a/gtk/gtkcssimagelinear.c b/gtk/gtkcssimagelinear.c
index b4a53f5..07ab3ea 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 bc137db..81967c9 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");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]