forked from AuroraMiddleware/gtk
styleproperty: Fix 'currentColor'
It was always looking at the 'color' keyword for the parent context instead of only doing that when used with the 'color' property. Tested by border-color-default.ui reftest.
This commit is contained in:
parent
581cc59945
commit
4a33eb1aae
@ -58,15 +58,27 @@ restart:
|
||||
|
||||
if (G_VALUE_HOLDS (specified, GTK_TYPE_CSS_SPECIAL_VALUE))
|
||||
{
|
||||
GtkStyleContext *parent = gtk_style_context_get_parent (context);
|
||||
g_assert (g_value_get_enum (specified) == GTK_CSS_CURRENT_COLOR);
|
||||
|
||||
if (parent)
|
||||
g_value_copy (_gtk_style_context_peek_property (parent, "color"), computed);
|
||||
/* The computed value of the ‘currentColor’ keyword is the computed
|
||||
* value of the ‘color’ property. If the ‘currentColor’ keyword is
|
||||
* set on the ‘color’ property itself, it is treated as ‘color: inherit’.
|
||||
*/
|
||||
if (g_str_equal (_gtk_style_property_get_name (GTK_STYLE_PROPERTY (property)), "color"))
|
||||
{
|
||||
GtkStyleContext *parent = gtk_style_context_get_parent (context);
|
||||
|
||||
if (parent)
|
||||
g_value_copy (_gtk_style_context_peek_property (parent, "color"), computed);
|
||||
else
|
||||
_gtk_css_style_compute_value (computed,
|
||||
context,
|
||||
_gtk_css_style_property_get_initial_value (property));
|
||||
}
|
||||
else
|
||||
_gtk_css_style_compute_value (computed,
|
||||
context,
|
||||
_gtk_css_style_property_get_initial_value (property));
|
||||
{
|
||||
g_value_copy (_gtk_style_context_peek_property (context, "color"), computed);
|
||||
}
|
||||
}
|
||||
else if (G_VALUE_HOLDS (specified, GTK_TYPE_SYMBOLIC_COLOR))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user