Description: Fix Segfault on startup Author: Benjamin Hart Forwarded: https://github.com/smbolton/hexter/pull/11 --- a/src/gui_widgy_editor.c +++ b/src/gui_widgy_editor.c @@ -862,24 +862,33 @@ } static void -place_combo(GtkObject *adj, GtkWidget *table, int x, int y, int type) +combo_box_append_text(GtkWidget *w, const char** labels) { - const char **labels; int i; - /* -FIX- this is kinda ugly */ + for (i = 0; labels[i]; i++) + { + gtk_combo_box_append_text(GTK_COMBO_BOX(w), labels[i]); + } +} + +static void +place_combo(GtkObject *adj, GtkWidget *table, int x, int y, int type) +{ + /* -FIX- this is still kinda ugly */ + const char* labels_lfo_wave[] = { "Tri", "Saw+", "Saw-", "Square", "Sine", "S/H", 0 }; + const char* labels_curve[] = { "-Lin", "-Exp", "+Exp", "+Lin", 0 }; + + GtkWidget *w = gtk_combo_box_new_text(); switch (type) { default: case PEPT_LFOWave: - labels = (const char *[]){ "Tri", "Saw+", "Saw-", "Square", "Sine", "S/H", NULL }; + combo_box_append_text(w, labels_lfo_wave); break; case PEPT_Curve: - labels = (const char *[]){ "-Lin", "-Exp", "+Exp", "+Lin", NULL }; + combo_box_append_text(w, labels_curve); break; } - GtkWidget *w = gtk_combo_box_new_text(); - for (i = 0; labels[i]; i++) - gtk_combo_box_append_text(GTK_COMBO_BOX(w), labels[i]); gtk_combo_box_set_active((GtkComboBox *)w, 0); gtk_table_attach (GTK_TABLE (table), w, x, x + 1, y, y + 1, (GtkAttachOptions) (0),