[gtk+] stylecontext: Make queue_invalidate() always work
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] stylecontext: Make queue_invalidate() always work
- Date: Tue, 8 May 2012 01:58:36 +0000 (UTC)
commit f51c9d4154ba1ce4f20f7c4b7f705fe2756cb8ab
Author: Benjamin Otte <otte redhat com>
Date: Tue May 8 01:35:00 2012 +0200
stylecontext: Make queue_invalidate() always work
Handle both the case where a widget is set and also the case where a
widget path is set.
gtk/gtkstylecontext.c | 23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 1ed5eb4..02293b4 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -663,12 +663,7 @@ static void
gtk_style_context_cascade_changed (GtkStyleCascade *cascade,
GtkStyleContext *context)
{
- GtkStyleContextPrivate *priv = context->priv;
-
- if (priv->widget)
- _gtk_style_context_queue_invalidate (context, GTK_CSS_CHANGE_SOURCE);
- else
- gtk_style_context_invalidate (context);
+ _gtk_style_context_queue_invalidate (context, GTK_CSS_CHANGE_SOURCE);
}
static void
@@ -2556,8 +2551,6 @@ gtk_style_context_set_screen (GtkStyleContext *context,
priv->screen = screen;
g_object_notify (G_OBJECT (context), "screen");
-
- gtk_style_context_invalidate (context);
}
/**
@@ -3162,11 +3155,15 @@ _gtk_style_context_queue_invalidate (GtkStyleContext *context,
priv = context->priv;
- if (priv->widget == NULL && priv->widget_path == NULL)
- return;
-
- priv->pending_changes |= change;
- gtk_style_context_set_invalid (context, TRUE);
+ if (priv->widget != NULL)
+ {
+ priv->pending_changes |= change;
+ gtk_style_context_set_invalid (context, TRUE);
+ }
+ else if (priv->widget_path == NULL)
+ {
+ gtk_style_context_invalidate (context);
+ }
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]