Merge branch 'backport-css-fix-to-gtk-4-10' into 'gtk-4-10'

Backport "css: Don't transition to currentColor" to gtk-4-10

See merge request GNOME/gtk!5911
This commit is contained in:
Matthias Clasen 2023-05-02 22:21:09 +00:00
commit 3fe1fb4930
3 changed files with 11 additions and 11 deletions

View File

@ -102,10 +102,10 @@ gtk_css_filter_clear (GtkCssFilter *filter)
}
static void
gtk_css_filter_init_identity (GtkCssFilter *filter,
GtkCssFilterType type)
gtk_css_filter_init_identity (GtkCssFilter *filter,
const GtkCssFilter *other)
{
switch (type)
switch (other->type)
{
case GTK_CSS_FILTER_BRIGHTNESS:
filter->brightness.value = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
@ -135,7 +135,7 @@ gtk_css_filter_init_identity (GtkCssFilter *filter,
filter->blur.value = _gtk_css_number_value_new (0, GTK_CSS_PX);
break;
case GTK_CSS_FILTER_DROP_SHADOW:
filter->drop_shadow.value = gtk_css_shadow_value_new_filter ();
filter->drop_shadow.value = gtk_css_shadow_value_new_filter (other->drop_shadow.value);
break;
case GTK_CSS_FILTER_NONE:
default:
@ -143,7 +143,7 @@ gtk_css_filter_init_identity (GtkCssFilter *filter,
break;
}
filter->type = type;
filter->type = other->type;
}
#define R 0.2126
@ -466,7 +466,7 @@ gtk_css_value_filter_equal (const GtkCssValue *value1,
{
GtkCssFilter filter;
gtk_css_filter_init_identity (&filter, larger->filters[i].type);
gtk_css_filter_init_identity (&filter, &larger->filters[i]);
if (!gtk_css_filter_equal (&larger->filters[i], &filter))
{
@ -590,7 +590,7 @@ gtk_css_value_filter_transition (GtkCssValue *start,
{
GtkCssFilter filter;
gtk_css_filter_init_identity (&filter, start->filters[i].type);
gtk_css_filter_init_identity (&filter, &start->filters[i]);
gtk_css_filter_transition (&result->filters[i],
&start->filters[i],
&filter,
@ -602,7 +602,7 @@ gtk_css_value_filter_transition (GtkCssValue *start,
{
GtkCssFilter filter;
gtk_css_filter_init_identity (&filter, end->filters[i].type);
gtk_css_filter_init_identity (&filter, &end->filters[i]);
gtk_css_filter_transition (&result->filters[i],
&filter,
&end->filters[i],

View File

@ -331,7 +331,7 @@ gtk_css_shadow_value_new (ShadowValue *shadows,
}
GtkCssValue *
gtk_css_shadow_value_new_filter (void)
gtk_css_shadow_value_new_filter (const GtkCssValue *other)
{
ShadowValue value;
@ -340,7 +340,7 @@ gtk_css_shadow_value_new_filter (void)
value.voffset = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
value.radius = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
value.spread = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
value.color = _gtk_css_color_value_new_current_color ();
value.color = gtk_css_value_ref (other->shadows[0].color);
return gtk_css_shadow_value_new (&value, 1, TRUE);
}

View File

@ -35,7 +35,7 @@
G_BEGIN_DECLS
GtkCssValue * gtk_css_shadow_value_new_none (void);
GtkCssValue * gtk_css_shadow_value_new_filter (void);
GtkCssValue * gtk_css_shadow_value_new_filter (const GtkCssValue *other);
GtkCssValue * gtk_css_shadow_value_parse (GtkCssParser *parser,
gboolean box_shadow_mode);