summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2013-02-21 03:07:20 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-02-20 17:20:52 -0800
commit61698b9f55514a2a2f1dcb5f89bb4fd69c019f4b (patch)
tree999f1c73c2131f98c4e2eab727928e5abf6ad5d2
parent0b4dfd6cffe380f45a64034744415477c23b132a (diff)
downloadsubsurface-61698b9f55514a2a2f1dcb5f89bb4fd69c019f4b.tar.gz
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>
-rw-r--r--display-gtk.h1
-rw-r--r--gtk-gui.c1
-rw-r--r--info.c8
3 files changed, 10 insertions, 0 deletions
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);
+}