From 96143548ace0c3272e89756afa5e0c7040e6e696 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Sun, 12 Jan 2020 15:53:26 +0100 Subject: [PATCH] csscolorvalue: check for singletons in new_literal Gets rid of another ~400 GtkCssValue instances in the widget-factory. --- gtk/gtkcsscolorvalue.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c index 520a6ee852..80cc7a3d21 100644 --- a/gtk/gtkcsscolorvalue.c +++ b/gtk/gtkcsscolorvalue.c @@ -507,6 +507,12 @@ _gtk_css_color_value_new_literal (const GdkRGBA *color) g_return_val_if_fail (color != NULL, NULL); + if (gdk_rgba_equal (color, &white_singleton.sym_col.rgba)) + return _gtk_css_value_ref (&white_singleton); + + if (gdk_rgba_equal (color, &transparent_black_singleton.sym_col.rgba)) + return _gtk_css_value_ref (&transparent_black_singleton); + value = _gtk_css_value_new (GtkCssValue, >K_CSS_VALUE_COLOR); value->type = COLOR_TYPE_LITERAL; value->is_computed = TRUE; -- 2.30.2