When attempting to save a selection of the faceset in the configuration dialog, face_info.want_faceset is never set.
For whatever reason, gtk_combo_box_text_get_active_text() returns null, even when we have chosen an option in the dropdown list.
The following errors are thrown on an attempted save, and I believe they are related to this:
(crossfire-client-gtk2:492426): Gtk-CRITICAL **: 23:23:58.743: IA__gtk_tree_model_get_column_type: assertion 'index >= 0' failed
(crossfire-client-gtk2:492426): Gtk-CRITICAL **: 23:23:58.743: IA__gtk_combo_box_text_get_active_text: assertion 'column_type == G_TYPE_STRING' failed
I'm at a loss as to why this is occurring. I've scoured gtk-v2/src/config.c and the code seems to be interacting with the drop-down sensibly. It populates the drop-down, and the options can be chosen. It just does not read the selection.
The GTK2 documentation makes it sound like the function can be used for when the has_entry property is true, but vacuously implies it should work when the has_entry property is false as well.
Additionally, the face set can be set through the command line and works fine that way, so it has something to do with the config dialog and not the face set code in the client.
Doing some additional digging, and it appears our GTKComboBoxText object does not set the "has-entry" property, so the call to gtk_combo_box_text_get_active_text does not appear to be valid.
A call to gtk_combo_box_get_active will return the selected index; the next step is figuring out the correct way to turn that into the string we want.
I think I fixed it in r21556. At least, it was working for me.