summaryrefslogtreecommitdiff
path: root/gtk/gtkcsspathnode.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-02-13 22:00:06 +0100
committerBenjamin Otte <otte@redhat.com>2015-03-18 15:23:31 +0100
commitb827725aceabfc88e33f80eec78ece029f2553c6 (patch)
tree3fcb9b35a3fad1c7cbd948ab7098f96dd7747ab8 /gtk/gtkcsspathnode.c
parent6c00eba7fbad4b4ee8a295e9826541bef48c29aa (diff)
downloadgtk+-b827725aceabfc88e33f80eec78ece029f2553c6.tar.gz
csspathnode: Call gtk_style_context_validate()
Don't call gtk_style_context_invalidate(), that function does too much work.
Diffstat (limited to 'gtk/gtkcsspathnode.c')
-rw-r--r--gtk/gtkcsspathnode.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/gtk/gtkcsspathnode.c b/gtk/gtkcsspathnode.c
index 8f838fc830..1fc702e22d 100644
--- a/gtk/gtkcsspathnode.c
+++ b/gtk/gtkcsspathnode.c
@@ -18,6 +18,7 @@
#include "config.h"
#include "gtkcsspathnodeprivate.h"
+#include "gtkcssstylepropertyprivate.h"
#include "gtkprivate.h"
#include "gtkstylecontextprivate.h"
@@ -41,9 +42,16 @@ gtk_css_path_node_invalidate (GtkCssNode *node)
if (path_node->context)
{
- G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- gtk_style_context_invalidate (path_node->context);
- G_GNUC_END_IGNORE_DEPRECATIONS;
+ GtkBitmask *changes;
+
+ changes = _gtk_bitmask_new ();
+ changes = _gtk_bitmask_invert_range (changes,
+ 0,
+ _gtk_css_style_property_get_n_properties ());
+
+ gtk_style_context_validate (path_node->context, changes);
+
+ _gtk_bitmask_free (changes);
}
}