Handle "color: inherit" directly in get_color_from_term(), not in libcroco

The idea is to move handling of "inherit" as early in the parsing as possible.

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934
This commit is contained in:
Federico Mena Quintero 2019-11-21 18:30:03 -06:00 committed by Florian Müllner
parent 52f5793c9b
commit 236bdaa53c

View File

@ -581,10 +581,14 @@ get_color_from_term (StThemeNode *node,
CRRgb rgb;
enum CRStatus status;
if (term_is_inherit (term))
{
return VALUE_INHERIT;
}
/* Since libcroco doesn't know about rgba colors, it can't handle
* the transparent keyword
*/
if (term_is_transparent (term))
else if (term_is_transparent (term))
{
*color = TRANSPARENT_COLOR;
return VALUE_FOUND;
@ -606,9 +610,6 @@ get_color_from_term (StThemeNode *node,
if (status != CR_OK)
return VALUE_NOT_FOUND;
if (rgb.inherit)
return VALUE_INHERIT;
if (rgb.is_percentage)
cr_rgb_compute_from_percentage (&rgb);