summaryrefslogtreecommitdiff
path: root/libnautilus-extension
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2005-12-16 15:49:17 +0000
committerAlexander Larsson <alexl@src.gnome.org>2005-12-16 15:49:17 +0000
commitba13b716d3887ed3ef6025708f3fef4d5c390e51 (patch)
treee79ce0c66866f01fb3d19901240dc57fd378ddca /libnautilus-extension
parent7345ebfe9acd756289be10e1bab7437ab6a9bb94 (diff)
downloadnautilus-ba13b716d3887ed3ef6025708f3fef4d5c390e51.tar.gz
Chain up in finalize handler, to fix leaks.
2005-12-16 Alexander Larsson <alexl@redhat.com> * libnautilus-extension/nautilus-column.c: * libnautilus-extension/nautilus-menu-item.c: * libnautilus-extension/nautilus-property-page.c: Chain up in finalize handler, to fix leaks.
Diffstat (limited to 'libnautilus-extension')
-rw-r--r--libnautilus-extension/nautilus-column.c6
-rw-r--r--libnautilus-extension/nautilus-menu-item.c8
-rw-r--r--libnautilus-extension/nautilus-property-page.c7
3 files changed, 19 insertions, 2 deletions
diff --git a/libnautilus-extension/nautilus-column.c b/libnautilus-extension/nautilus-column.c
index 5bcf30a96..b0525e394 100644
--- a/libnautilus-extension/nautilus-column.c
+++ b/libnautilus-extension/nautilus-column.c
@@ -44,6 +44,8 @@ struct _NautilusColumnDetails {
float xalign;
};
+static GObjectClass *parent_class = NULL;
+
NautilusColumn *
nautilus_column_new (const char *name,
const char *attribute,
@@ -153,6 +155,8 @@ nautilus_column_finalize (GObject *object)
g_free (column->details->description);
g_free (column->details);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
@@ -165,6 +169,8 @@ nautilus_column_instance_init (NautilusColumn *column)
static void
nautilus_column_class_init (NautilusColumnClass *class)
{
+ parent_class = g_type_class_peek_parent (class);
+
G_OBJECT_CLASS (class)->finalize = nautilus_column_finalize;
G_OBJECT_CLASS (class)->get_property = nautilus_column_get_property;
G_OBJECT_CLASS (class)->set_property = nautilus_column_set_property;
diff --git a/libnautilus-extension/nautilus-menu-item.c b/libnautilus-extension/nautilus-menu-item.c
index b80c23172..714562751 100644
--- a/libnautilus-extension/nautilus-menu-item.c
+++ b/libnautilus-extension/nautilus-menu-item.c
@@ -53,6 +53,8 @@ struct _NautilusMenuItemDetails {
static guint signals[LAST_SIGNAL];
+static GObjectClass *parent_class = NULL;
+
NautilusMenuItem *
nautilus_menu_item_new (const char *name,
const char *label,
@@ -165,7 +167,7 @@ static void
nautilus_menu_item_finalize (GObject *object)
{
NautilusMenuItem *item;
-
+
item = NAUTILUS_MENU_ITEM (object);
g_free (item->details->name);
@@ -174,6 +176,8 @@ nautilus_menu_item_finalize (GObject *object)
g_free (item->details->icon);
g_free (item->details);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
@@ -186,6 +190,8 @@ nautilus_menu_item_instance_init (NautilusMenuItem *item)
static void
nautilus_menu_item_class_init (NautilusMenuItemClass *class)
{
+ parent_class = g_type_class_peek_parent (class);
+
G_OBJECT_CLASS (class)->finalize = nautilus_menu_item_finalize;
G_OBJECT_CLASS (class)->get_property = nautilus_menu_item_get_property;
G_OBJECT_CLASS (class)->set_property = nautilus_menu_item_set_property;
diff --git a/libnautilus-extension/nautilus-property-page.c b/libnautilus-extension/nautilus-property-page.c
index 22da8f9c3..d567322a4 100644
--- a/libnautilus-extension/nautilus-property-page.c
+++ b/libnautilus-extension/nautilus-property-page.c
@@ -35,13 +35,14 @@ enum {
LAST_PROP
};
-
struct _NautilusPropertyPageDetails {
char *name;
GtkWidget *label;
GtkWidget *page;
};
+static GObjectClass *parent_class = NULL;
+
NautilusPropertyPage *
nautilus_property_page_new (const char *name,
GtkWidget *label,
@@ -154,6 +155,8 @@ nautilus_property_page_finalize (GObject *object)
g_free (page->details->name);
g_free (page->details);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
@@ -165,6 +168,8 @@ nautilus_property_page_instance_init (NautilusPropertyPage *page)
static void
nautilus_property_page_class_init (NautilusPropertyPageClass *class)
{
+ parent_class = g_type_class_peek_parent (class);
+
G_OBJECT_CLASS (class)->finalize = nautilus_property_page_finalize;
G_OBJECT_CLASS (class)->dispose = nautilus_property_page_dispose;
G_OBJECT_CLASS (class)->get_property = nautilus_property_page_get_property;