diff options
author | quartenium <quartenium@gmail.com> | 2017-09-11 17:59:11 +0300 |
---|---|---|
committer | Arx Cruz <arxcruz@redhat.com> | 2019-04-14 18:09:34 +0000 |
commit | cd636315a5ff60567ff6a49ea10f326b69337029 (patch) | |
tree | 9d4d0c4c395e6b5f98be31f9135cf12e6a1f8c0d | |
parent | Updated Danish translation (diff) | |
download | zenity-cd636315a5ff60567ff6a49ea10f326b69337029.tar.gz zenity-cd636315a5ff60567ff6a49ea10f326b69337029.tar.bz2 zenity-cd636315a5ff60567ff6a49ea10f326b69337029.zip |
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.
-rw-r--r-- | src/forms.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/forms.c b/src/forms.c index 4e6fca5d..15df7189 100644 --- a/src/forms.c +++ b/src/forms.c @@ -110,8 +110,15 @@ zenity_forms_create_and_fill_list ( tree_view = gtk_tree_view_new (); 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 = - g_slist_nth_data (forms_data->column_values, list_number); + g_slist_nth_data (forms_data->column_values, column_number); if (column_values) { gchar **values = g_strsplit_set (column_values, "|", -1); if (values) { @@ -130,6 +137,10 @@ zenity_forms_create_and_fill_list ( 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; } } |