summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-07 19:14:55 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-07 19:14:55 +0100
commitbc0aa6fffe982c6470d3a39815e11fbe11824359 (patch)
tree4d3c63d62b7512c7fe8141bc8e3403a13572762c
parent6c5810b28cb24ed558f6011d4e9e5cb502fa027e (diff)
fixed few memleaks
-rw-r--r--plugins.c1
-rw-r--r--plugins/gtkui/ddblistview.c9
-rw-r--r--plugins/gtkui/gtkui.c2
3 files changed, 8 insertions, 4 deletions
diff --git a/plugins.c b/plugins.c
index 748f1e9e..dd0b0826 100644
--- a/plugins.c
+++ b/plugins.c
@@ -673,6 +673,7 @@ plug_unload_all (void) {
if (plugins->handle) {
dlclose (plugins->handle);
}
+ free (plugins);
plugins = next;
}
mutex_free (mutex);
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c
index 32f31f4f..faf023b9 100644
--- a/plugins/gtkui/ddblistview.c
+++ b/plugins/gtkui/ddblistview.c
@@ -268,8 +268,9 @@ ddb_listview_motion_notify_event (GtkWidget *widget,
static void
ddb_listview_class_init(DdbListviewClass *class)
{
- GtkTableClass *widget_class;
- widget_class = (GtkTableClass *) class;
+ GtkTableClass *widget_class = (GtkTableClass *) class;
+ GtkObjectClass *object_class = (GtkObjectClass *) class;
+ object_class->destroy = ddb_listview_destroy;
}
static void
@@ -449,8 +450,8 @@ ddb_listview_destroy(GtkObject *object)
class = gtk_type_class(gtk_widget_get_type());
- if (GTK_OBJECT_CLASS(class)->destroy) {
- (* GTK_OBJECT_CLASS(class)->destroy) (object);
+ if (GTK_OBJECT_CLASS (ddb_listview_parent_class)) {
+ GTK_OBJECT_CLASS (ddb_listview_parent_class)->destroy (object);
}
}
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index a87322a2..6cdff169 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -785,6 +785,8 @@ gtkui_thread (void *ctx) {
playlist_refresh ();
gtk_main ();
+ gtk_widget_destroy (mainwin);
+ gtk_widget_destroy (searchwin);
cover_art_free ();
#if HAVE_NOTIFY
notify_uninit ();