mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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>
This commit is contained in:
parent
3244a828f3
commit
0559a6a783
3 changed files with 5 additions and 2 deletions
|
@ -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));
|
gtk_entry_completion_set_model(completion, GTK_TREE_MODEL(model));
|
||||||
g_signal_connect(completion, "match-selected", G_CALLBACK(completion_cb), cylinder);
|
g_signal_connect(completion, "match-selected", G_CALLBACK(completion_cb), cylinder);
|
||||||
gtk_entry_set_completion(entry, completion);
|
gtk_entry_set_completion(entry, completion);
|
||||||
|
g_object_unref(completion);
|
||||||
|
|
||||||
hbox = gtk_hbox_new(FALSE, 3);
|
hbox = gtk_hbox_new(FALSE, 3);
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
|
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
|
||||||
|
|
|
@ -705,6 +705,7 @@ static void preferences_dialog(GtkWidget *w, gpointer data)
|
||||||
/* Flush the changes out to the system */
|
/* Flush the changes out to the system */
|
||||||
subsurface_flush_conf();
|
subsurface_flush_conf();
|
||||||
}
|
}
|
||||||
|
free((void *)current_default);
|
||||||
gtk_widget_destroy(dialog);
|
gtk_widget_destroy(dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
5
info.c
5
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_inline_selection(completion, TRUE);
|
||||||
gtk_entry_completion_set_popup_single_match(completion, FALSE);
|
gtk_entry_completion_set_popup_single_match(completion, FALSE);
|
||||||
gtk_entry_set_completion(entry, completion);
|
gtk_entry_set_completion(entry, completion);
|
||||||
|
g_object_unref(completion);
|
||||||
|
|
||||||
return GTK_COMBO_BOX_ENTRY(combo_box);
|
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]);
|
new_text = get_combo_box_entry_text(info->rating, &rating_string, star_strings[master->rating]);
|
||||||
if (new_text) {
|
if (new_text) {
|
||||||
dive->rating = get_rating(rating_string);
|
dive->rating = get_rating(rating_string);
|
||||||
free(rating_string);
|
changed = 1;
|
||||||
changed =1;
|
|
||||||
}
|
}
|
||||||
|
free(rating_string);
|
||||||
|
|
||||||
if (info->notes) {
|
if (info->notes) {
|
||||||
old_text = dive->notes;
|
old_text = dive->notes;
|
||||||
|
|
Loading…
Add table
Reference in a new issue