forked from AuroraMiddleware/gtk
stylecontext: Do not transition from the default style
This gets rid of a bunch of awkward transitions. It's not a perfect solution to the problem of "should we transition from this state" but it gets rid of the ugliest offenders.
This commit is contained in:
parent
03d4e270c2
commit
63f7a36ae0
@ -2870,7 +2870,8 @@ gtk_style_context_update_cache (GtkStyleContext *context,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_style_context_should_create_transitions (GtkStyleContext *context)
|
||||
gtk_style_context_should_create_transitions (GtkStyleContext *context,
|
||||
GtkCssStyle *previous_style)
|
||||
{
|
||||
GtkStyleContextPrivate *priv;
|
||||
gboolean animate;
|
||||
@ -2883,6 +2884,9 @@ gtk_style_context_should_create_transitions (GtkStyleContext *context)
|
||||
if (!gtk_widget_get_mapped (priv->widget))
|
||||
return FALSE;
|
||||
|
||||
if (previous_style == gtk_css_static_style_get_default (priv->screen))
|
||||
return FALSE;
|
||||
|
||||
g_object_get (gtk_widget_get_settings (context->priv->widget),
|
||||
"gtk-enable-animations", &animate,
|
||||
NULL);
|
||||
@ -2945,7 +2949,7 @@ _gtk_style_context_validate (GtkStyleContext *context,
|
||||
timestamp,
|
||||
GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
|
||||
priv->scale,
|
||||
gtk_style_context_should_create_transitions (context) ? current : NULL);
|
||||
gtk_style_context_should_create_transitions (context, current) ? current : NULL);
|
||||
|
||||
gtk_css_node_set_values (cssnode, style);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user