]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcsscolorvalue.c
treeview: remove extra padding handling
[~andy/gtk] / gtk / gtkcsscolorvalue.c
index 5e6a7f0c028eeffa3882fc964a8421518e86a381..9ff0a052107e20c605cd48ce675e2967564a0698 100644 (file)
@@ -24,7 +24,6 @@
 #include "gtkhslaprivate.h"
 #include "gtkstylepropertyprivate.h"
 #include "gtkstyleproperties.h"
-#include "gtksymboliccolorprivate.h"
 #include "gtkwin32themeprivate.h"
 
 typedef enum {
@@ -146,15 +145,14 @@ _gtk_css_color_value_resolve (GtkCssValue             *color,
   GtkCssDependencies unused;
   GtkCssValue *value;
 
-  g_return_val_if_fail (color != NULL, FALSE);
-  g_return_val_if_fail (provider == NULL || GTK_IS_STYLE_PROVIDER_PRIVATE (provider), FALSE);
-  g_return_val_if_fail (current != NULL, FALSE);
+  g_return_val_if_fail (color != NULL, NULL);
+  g_return_val_if_fail (provider == NULL || GTK_IS_STYLE_PROVIDER_PRIVATE (provider), NULL);
+  g_return_val_if_fail (current != NULL, NULL);
 
   if (dependencies == NULL)
     dependencies = &unused;
   *dependencies = 0;
 
-  value = NULL;
   switch (color->type)
     {
     case COLOR_TYPE_LITERAL:
@@ -184,12 +182,7 @@ _gtk_css_color_value_resolve (GtkCssValue             *color,
         *dependencies = _gtk_css_dependencies_union (*dependencies, 0);
         
         _gtk_hsla_init_from_rgba (&hsla, _gtk_css_rgba_value_get_rgba (val));
-
-        hsla.lightness *= color->sym_col.shade.factor;
-        hsla.lightness = CLAMP (hsla.lightness, 0.0, 1.0);
-
-        hsla.saturation *= color->sym_col.shade.factor;
-        hsla.saturation = CLAMP (hsla.saturation, 0.0, 1.0);
+        _gtk_hsla_shade (&hsla, &hsla, color->sym_col.shade.factor);
 
         _gdk_rgba_init_from_hsla (&shade, &hsla);
 
@@ -271,26 +264,23 @@ _gtk_css_color_value_resolve (GtkCssValue             *color,
         }
       break;
     default:
+      value = NULL;
       g_assert_not_reached ();
     }
 
-  if (value != NULL)
+  if (color->last_value != NULL &&
+      _gtk_css_value_equal (color->last_value, value))
     {
-      if (color->last_value != NULL &&
-          _gtk_css_value_equal (color->last_value, value))
-       {
-         _gtk_css_value_unref (value);
-         value = _gtk_css_value_ref (color->last_value);
-       }
-      else
-       {
-         if (color->last_value != NULL)
-           _gtk_css_value_unref (color->last_value);
-         color->last_value = _gtk_css_value_ref (value);
-       }
+      _gtk_css_value_unref (value);
+      value = _gtk_css_value_ref (color->last_value);
+    }
+  else
+    {
+      if (color->last_value != NULL)
+        _gtk_css_value_unref (color->last_value);
+      color->last_value = _gtk_css_value_ref (value);
     }
 
-  _gtk_css_rgba_value_get_rgba (value);
   return value;
 }