[gtk+] stylecontext: Do not transition from the default style
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] stylecontext: Do not transition from the default style
- Date: Sat, 17 Jan 2015 01:25:48 +0000 (UTC)
commit 63f7a36ae0ccd3b9d5ed96defce76de75671b6ec
Author: Benjamin Otte <otte redhat com>
Date: Tue Jan 13 13:45:42 2015 +0100
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.
gtk/gtkstylecontext.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 25385f0..19c2d0c 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]