[gtk+] gtkstylecontext: Don't try to emit a signal when finalizing
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gtkstylecontext: Don't try to emit a signal when finalizing
- Date: Mon, 29 Dec 2014 06:58:08 +0000 (UTC)
commit 5a41f63426efb6f715119d23acdab0b2676c72ad
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sun Dec 28 18:11:49 2014 -0800
gtkstylecontext: Don't try to emit a signal when finalizing
gtk/gtkstylecontext.c | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 7773997..fcc1270 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -523,6 +523,18 @@ _gtk_style_context_update_animating (GtkStyleContext *context)
}
static void
+gtk_style_context_clear_parent (GtkStyleContext *context)
+{
+ GtkStyleContextPrivate *priv = context->priv;
+
+ if (priv->parent)
+ {
+ priv->parent->priv->children = g_slist_remove (priv->parent->priv->children, context);
+ g_object_unref (priv->parent);
+ }
+}
+
+static void
gtk_style_context_finalize (GObject *object)
{
GtkStyleContextPrivate *priv;
@@ -536,7 +548,7 @@ gtk_style_context_finalize (GObject *object)
/* children hold a reference to us */
g_assert (priv->children == NULL);
- gtk_style_context_set_parent (style_context, NULL);
+ gtk_style_context_clear_parent (style_context);
gtk_style_context_set_cascade (style_context, NULL);
@@ -1397,11 +1409,7 @@ gtk_style_context_set_parent (GtkStyleContext *context,
gtk_style_context_set_invalid (parent, TRUE);
}
- if (priv->parent)
- {
- priv->parent->priv->children = g_slist_remove (priv->parent->priv->children, context);
- g_object_unref (priv->parent);
- }
+ gtk_style_context_clear_parent (context);
priv->parent = parent;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]