summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-01-18 18:05:53 +0100
committerBenjamin Otte <otte@redhat.com>2016-01-18 18:06:41 +0100
commite150ea85bb548afdf5724beed6e262fd2d8fa7b3 (patch)
treeb67055f104f8154889c39929cc8e30c365718283
parentaf958b86cb3126cf6178d1d9e95948c2ae66cf71 (diff)
downloadgtk+-e150ea85bb548afdf5724beed6e262fd2d8fa7b3.tar.gz
cssnode: Don't leak the style cache on destruction
-rw-r--r--gtk/gtkcssnode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c
index aac0bb3d9d..0a4c510a4d 100644
--- a/gtk/gtkcssnode.c
+++ b/gtk/gtkcssnode.c
@@ -236,6 +236,8 @@ gtk_css_node_dispose (GObject *object)
}
gtk_css_node_set_invalid (cssnode, FALSE);
+
+ g_clear_pointer (&cssnode->cache, gtk_css_node_style_cache_unref);
G_OBJECT_CLASS (gtk_css_node_parent_class)->dispose (object);
}
@@ -314,6 +316,7 @@ lookup_in_global_parent_cache (GtkCssNode *node,
if (parent->cache == NULL)
return NULL;
+ g_assert (node->cache == NULL);
node->cache = gtk_css_node_style_cache_lookup (parent->cache,
(GtkCssNodeDeclaration *) decl,
gtk_css_node_is_first_child (node),