From: Timm Bäder Date: Sun, 12 Jan 2020 14:53:26 +0000 (+0100) Subject: csscolorvalue: check for singletons in new_literal X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~285 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=96143548ace0c3272e89756afa5e0c7040e6e696;p=gtk4.git csscolorvalue: check for singletons in new_literal Gets rid of another ~400 GtkCssValue instances in the widget-factory. --- 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;