aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2012-10-01 22:22:12 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2012-10-01 14:06:46 -0700
commit0559a6a7831ecdae9274fa5e67f941660a6bbab1 (patch)
tree5f4143eb947481f883f48c0826d4a60329fcb391
parent3244a828f3df9b0403db7de742de399edcb395bb (diff)
downloadsubsurface-0559a6a7831ecdae9274fa5e67f941660a6bbab1.tar.gz
Fixed some small memory leaks
Looks like a GtkEntryCompletion object created with gtk_entry_completion_new() should be unreferenced after usage (e.g. post gtk_entry_set_completion()) In info.c:get_combo_box_entry_text(), moved the free(..) line outside, so that we can free regardless. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--equipment.c1
-rw-r--r--gtk-gui.c1
-rw-r--r--info.c5
3 files changed, 5 insertions, 2 deletions
diff --git a/equipment.c b/equipment.c
index 503f238c5..e30f40d1e 100644
--- a/equipment.c
+++ b/equipment.c
@@ -941,6 +941,7 @@ static void cylinder_widget(GtkWidget *vbox, struct cylinder_widget *cylinder, G
gtk_entry_completion_set_model(completion, GTK_TREE_MODEL(model));
g_signal_connect(completion, "match-selected", G_CALLBACK(completion_cb), cylinder);
gtk_entry_set_completion(entry, completion);
+ g_object_unref(completion);
hbox = gtk_hbox_new(FALSE, 3);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
diff --git a/gtk-gui.c b/gtk-gui.c
index 8e21f3133..0a4ee48e9 100644
--- a/gtk-gui.c
+++ b/gtk-gui.c
@@ -705,6 +705,7 @@ static void preferences_dialog(GtkWidget *w, gpointer data)
/* Flush the changes out to the system */
subsurface_flush_conf();
}
+ free((void *)current_default);
gtk_widget_destroy(dialog);
}
diff --git a/info.c b/info.c
index 5b9063373..3dfaa3370 100644
--- a/info.c
+++ b/info.c
@@ -264,6 +264,7 @@ static GtkComboBoxEntry *text_entry(GtkWidget *box, const char *label, GtkListSt
gtk_entry_completion_set_inline_selection(completion, TRUE);
gtk_entry_completion_set_popup_single_match(completion, FALSE);
gtk_entry_set_completion(entry, completion);
+ g_object_unref(completion);
return GTK_COMBO_BOX_ENTRY(combo_box);
}
@@ -427,9 +428,9 @@ static void save_dive_info_changes(struct dive *dive, struct dive *master, struc
new_text = get_combo_box_entry_text(info->rating, &rating_string, star_strings[master->rating]);
if (new_text) {
dive->rating = get_rating(rating_string);
- free(rating_string);
- changed =1;
+ changed = 1;
}
+ free(rating_string);
if (info->notes) {
old_text = dive->notes;