]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcsscolorvalue.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkcsscolorvalue.c
index 06337869b07068a045f7652b545053a3d32decf5..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:
@@ -266,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;
 }