summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorten Welinder <terra@gnome.org>2004-10-04 18:46:46 +0000
committerMorten Welinder <mortenw@src.gnome.org>2004-10-04 18:46:46 +0000
commitc3dc6ef23687ee2a3368163c675d0cbdff3bc9c5 (patch)
treec085acdc242cdda10c0d3818657a1c61fb10d620
parent8b37d14787af25e7df53507bedbcc260ef199fba (diff)
downloadglade-c3dc6ef23687ee2a3368163c675d0cbdff3bc9c5.tar.gz
Glade properties are not GObjects, so don't use g_object_unref on them.
2004-10-04 Morten Welinder <terra@gnome.org> * src/glade-widget.c (glade_widget_dispose): Glade properties are not GObjects, so don't use g_object_unref on them.
-rw-r--r--ChangeLog2
-rw-r--r--src/glade-gtk.c2
-rw-r--r--src/glade-widget.c29
3 files changed, 20 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index abeaf28c..2deb328a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
* src/glade-widget.c (glade_widget_finalize): Don't try to destroy
a hash table with g_object_unref.
+ (glade_widget_dispose): Glade properties are not GObjects, so
+ don't use g_object_unref on them.
2004-09-23 David Hoover <karma@deadmoose.com>
diff --git a/src/glade-gtk.c b/src/glade-gtk.c
index a83df1ee..1fe47c92 100644
--- a/src/glade-gtk.c
+++ b/src/glade-gtk.c
@@ -867,6 +867,8 @@ glade_gtk_notebook_post_create (GObject *object)
g_value_init (&value, G_TYPE_INT);
g_value_set_int (&value, ask_for_number(_("Create a notebook"), _("Number of pages:"), 0, 100, 3));
+
+ // FIXME: Shouldn't we actually set this?
}
/**
diff --git a/src/glade-widget.c b/src/glade-widget.c
index 0ae47c84..77622b26 100644
--- a/src/glade-widget.c
+++ b/src/glade-widget.c
@@ -275,24 +275,27 @@ glade_widget_dispose (GObject *object)
g_return_if_fail (GLADE_IS_WIDGET (object));
- if (widget->project)
+ if (widget->project) {
g_object_unref (widget->project);
+ widget->project = NULL;
+ }
- if (widget->widget)
+ if (widget->widget) {
g_object_unref (widget->widget);
+ widget->widget = NULL;
+ }
- if (widget->properties)
- g_list_foreach (widget->properties, (GFunc) g_object_unref, NULL);
- g_list_free (widget->properties);
-
- if (widget->packing_properties)
- g_list_foreach (widget->packing_properties, (GFunc) g_object_unref, NULL);
- g_list_free (widget->packing_properties);
+ if (widget->properties) {
+ g_list_foreach (widget->properties, (GFunc) glade_property_free, NULL);
+ g_list_free (widget->properties);
+ widget->properties = NULL;
+ }
- widget->project = NULL;
- widget->widget = NULL;
- widget->properties = NULL;
- widget->packing_properties = NULL;
+ if (widget->packing_properties) {
+ g_list_foreach (widget->packing_properties, (GFunc) glade_property_free, NULL);
+ g_list_free (widget->packing_properties);
+ widget->packing_properties = NULL;
+ }
}
/**