[gtk+/wip/actor: 32/42] xxx: cssbox
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/actor: 32/42] xxx: cssbox
- Date: Tue, 18 Dec 2012 13:28:43 +0000 (UTC)
commit 1e5b5a9f3fa35cbbc3f81f85b6499e9a80f8415b
Author: Benjamin Otte <otte redhat com>
Date: Sun Dec 16 21:38:04 2012 +0100
xxx: cssbox
gtk/actors/gtkcssbox.c | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
---
diff --git a/gtk/actors/gtkcssbox.c b/gtk/actors/gtkcssbox.c
index 91a129a..c032032 100644
--- a/gtk/actors/gtkcssbox.c
+++ b/gtk/actors/gtkcssbox.c
@@ -140,6 +140,17 @@ gtk_css_box_update_state_on_children (GtkCssBox *box,
}
static void
+gtk_css_box_finalize (GObject *object)
+{
+ GtkCssBox *self = GTK_CSS_BOX (object);
+ GtkCssBoxPrivate *priv = self->priv;
+
+ g_free (priv->id);
+
+ G_OBJECT_CLASS (_gtk_css_box_parent_class)->finalize (object);
+}
+
+static void
gtk_css_box_set_property (GObject *object,
guint prop_id,
const GValue *value,
@@ -459,6 +470,7 @@ _gtk_css_box_class_init (GtkCssBoxClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkActorClass *actor_class = GTK_ACTOR_CLASS (klass);
+ object_class->finalize = gtk_css_box_finalize;
object_class->set_property = gtk_css_box_set_property;
object_class->get_property = gtk_css_box_get_property;
@@ -616,10 +628,17 @@ void
_gtk_css_box_set_id (GtkCssBox *self,
const char *id)
{
+ GtkCssBoxPrivate *priv;
+
g_return_if_fail (GTK_IS_CSS_BOX (self));
- g_free (self->priv->id);
- self->priv->id = g_strdup (id);
+ priv = self->priv;
+
+ if (g_strcmp0 (priv->id, id) == 0)
+ return;
+
+ g_free (priv->id);
+ priv->id = g_strdup (id);
gtk_css_box_queue_restyle (self, GTK_CSS_CHANGE_NAME);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ID]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]