diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-03-07 19:14:55 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-03-07 19:14:55 +0100 |
commit | bc0aa6fffe982c6470d3a39815e11fbe11824359 (patch) | |
tree | 4d3c63d62b7512c7fe8141bc8e3403a13572762c | |
parent | 6c5810b28cb24ed558f6011d4e9e5cb502fa027e (diff) |
fixed few memleaks
-rw-r--r-- | plugins.c | 1 | ||||
-rw-r--r-- | plugins/gtkui/ddblistview.c | 9 | ||||
-rw-r--r-- | plugins/gtkui/gtkui.c | 2 |
3 files changed, 8 insertions, 4 deletions
@@ -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 (); |