src/forms.c: Fix segfault on multiple lists without values
If was not provided enought list-values for add-list options then column_types is NULL. Therefore need set it to default value. If count of columns values less than count of list values then set column nubmer to zero.
This commit is contained in:
parent
f608fc91c9
commit
cd636315a5
13
src/forms.c
13
src/forms.c
@ -110,8 +110,15 @@ zenity_forms_create_and_fill_list (
|
|||||||
tree_view = gtk_tree_view_new ();
|
tree_view = gtk_tree_view_new ();
|
||||||
|
|
||||||
if (forms_data->column_values) {
|
if (forms_data->column_values) {
|
||||||
|
int columns_values_count =
|
||||||
|
g_slist_length (forms_data->column_values);
|
||||||
|
int column_number = 0;
|
||||||
|
if (list_number < columns_values_count) {
|
||||||
|
column_number = list_number;
|
||||||
|
}
|
||||||
|
|
||||||
column_values =
|
column_values =
|
||||||
g_slist_nth_data (forms_data->column_values, list_number);
|
g_slist_nth_data (forms_data->column_values, column_number);
|
||||||
if (column_values) {
|
if (column_values) {
|
||||||
gchar **values = g_strsplit_set (column_values, "|", -1);
|
gchar **values = g_strsplit_set (column_values, "|", -1);
|
||||||
if (values) {
|
if (values) {
|
||||||
@ -130,6 +137,10 @@ zenity_forms_create_and_fill_list (
|
|||||||
column_index++;
|
column_index++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
/* If no values available, add one with string type*/
|
||||||
|
column_types = g_new (GType, n_columns);
|
||||||
|
column_types[0] = G_TYPE_STRING;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user