summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/tree.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index cae5fdc..a3ee4ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * src/tree.c (zenity_tree_dialog_get_selected,
+ zenity_tree_dialog_toggle_get_selected): use g_value_dup_string when
+ applicable (Fixes bug #527258). Patch from kraai@ftbfs.org.
+
2008-03-30 Lucas Rocha <lucasr@gnome.org>
* src/msg.c (zenity_msg_construct_question_dialog): fix memory leak on
diff --git a/src/tree.c b/src/tree.c
index 6dd3f64..65e9c47 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -516,7 +516,7 @@ zenity_tree_dialog_get_selected (GtkTreeModel *model, GtkTreePath *path_buf, Gtk
for (i = 0; i < n_columns; i++) {
gtk_tree_model_get_value (model, iter, i, &value);
- selected = g_slist_append (selected, g_strdup (g_value_get_string (&value)));
+ selected = g_slist_append (selected, g_value_dup_string (&value));
g_value_unset (&value);
}
return;
@@ -525,7 +525,7 @@ zenity_tree_dialog_get_selected (GtkTreeModel *model, GtkTreePath *path_buf, Gtk
for (i = 0; print_columns[i] != 0; i++) {
gtk_tree_model_get_value (model, iter, print_columns[i] - 1, &value);
- selected = g_slist_append (selected, g_strdup (g_value_get_string (&value)));
+ selected = g_slist_append (selected, g_value_dup_string (&value));
g_value_unset (&value);
}
}
@@ -547,7 +547,7 @@ zenity_tree_dialog_toggle_get_selected (GtkTreeModel *model, GtkTreePath *path,
for (i = 1; i < n_columns; i++) {
gtk_tree_model_get_value (model, iter, i, &value);
- selected = g_slist_append (selected, g_strdup (g_value_get_string (&value)));
+ selected = g_slist_append (selected, g_value_dup_string (&value));
g_value_unset (&value);
}
g_value_unset (&toggle_value);
@@ -557,7 +557,7 @@ zenity_tree_dialog_toggle_get_selected (GtkTreeModel *model, GtkTreePath *path,
for (i = 0; print_columns[i] != 0; i++) {
gtk_tree_model_get_value (model, iter, print_columns[i] - 1, &value);
- selected = g_slist_append (selected, g_strdup (g_value_get_string (&value)));
+ selected = g_slist_append (selected, g_value_dup_string (&value));
g_value_unset (&value);
}
}