From 61698b9f55514a2a2f1dcb5f89bb4fd69c019f4b Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" <neolit123@gmail.com> Date: Thu, 21 Feb 2013 03:07:20 +0200 Subject: [PATCH] info.c: add a method to clear all GtkListStore allocations Add a new method in info.c called info_widget_destroy(), which clears all GtkListStore instances. The method is exposed via display-gtk.h and called from gtk-gui.c:on_destroy(). Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org> --- display-gtk.h | 1 + gtk-gui.c | 1 + info.c | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/display-gtk.h b/display-gtk.h index 287a3e210..335cf4962 100644 --- a/display-gtk.h +++ b/display-gtk.h @@ -64,6 +64,7 @@ extern GtkWidget *total_stats_widget(void); extern GtkWidget *dive_list_create(void); extern void dive_list_destroy(void); +extern void info_widget_destroy(void); extern GdkPixbuf *get_gps_icon(void); /* Helper functions for gtk combo boxes */ diff --git a/gtk-gui.c b/gtk-gui.c index f34393cc4..4120714f1 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -336,6 +336,7 @@ gboolean on_delete(GtkWidget* w, gpointer data) static void on_destroy(GtkWidget* w, gpointer data) { dive_list_destroy(); + info_widget_destroy(); gtk_main_quit(); } diff --git a/info.c b/info.c index 46b370892..2fe6e470b 100644 --- a/info.c +++ b/info.c @@ -1261,3 +1261,11 @@ GtkWidget *extended_dive_info_widget(void) notes = text_view(vbox, _("Notes"), READ_ONLY); return vbox; } + +void info_widget_destroy(void) +{ + g_object_unref(people_list); + g_object_unref(location_list); + g_object_unref(star_list); + g_object_unref(suit_list); +}