rem: gtk_tree_sortable_set_default_sort_func (model, sort_tree, NULL, NULL); gtk_tree_sortable_set_sort_func (model, COUNTRY_NAME_COLUMN, sort_tree, NULL, NULL); gtk_tree_sortable_set_sort_column_id (model, COUNTRY_NAME_COLUMN, GTK_SORT_ASCENDING);
add: gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE(model), sort_tree, NULL, NULL); gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE(model), COUNTRY_NAME_COLUMN, sort_tree, NULL, NULL); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(model), COUNTRY_NAME_COLUMN, GTK_SORT_ASCENDING);
context: new_currency_list (){   GtkTreeViewColumn *column;  GtkCellRenderer *cell;  GtkWidget *sw, *treeview;  GtkTreeStore *model;  GtkTreeIter iter, child_iter;  struct iso_4217_currency * currency= iso_4217_currencies;  gchar ** continent;  gchar * continents[] = {    N_("Africa"),    N_("Asia"),    N_("Central America"),    N_("Europe"),    N_("Northern America"),    N_("Pacific Ocean"),    N_("Southern America"),    NULL,  };  gint col_offset;  sw = gtk_scrolled_window_new (NULL, NULL);  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),				       GTK_SHADOW_ETCHED_IN);  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),				  GTK_POLICY_NEVER,				  GTK_POLICY_ALWAYS);  /* create tree store */  model = gtk_tree_store_new (NUM_CURRENCIES_COLUMNS,			      G_TYPE_STRING,			      G_TYPE_STRING,			      G_TYPE_STRING,			      G_TYPE_STRING,			      G_TYPE_STRING);  for (continent = continents; *continent; continent++)    {      gtk_tree_store_append (model, &iter, NULL);      gtk_tree_store_set (model, &iter,			  COUNTRY_NAME_COLUMN, _(*continent),			  CURRENCY_NAME_COLUMN, FALSE,			  CURRENCY_ISO_CODE_COLUMN, FALSE,			  CURRENCY_NICKNAME_COLUMN, FALSE,			  CONTINENT_NAME_COLUMN, _(*continent),			  -1);      while (currency -> country_code && 	     /* No need to translate ;-P */	     !strcmp(currency -> continent, *continent)) 	{	  gtk_tree_store_append (model, &child_iter, &iter);	  gtk_tree_store_set (model, &child_iter,			      COUNTRY_NAME_COLUMN, _(currency -> country_name),			      CURRENCY_NAME_COLUMN, _(currency -> currency_name),			      CURRENCY_ISO_CODE_COLUMN, _(currency -> currency_code),			      CURRENCY_NICKNAME_COLUMN, _(currency -> currency_nickname),			      CONTINENT_NAME_COLUMN, _(currency -> continent),			      -1);	  currency++;	}    }  /* Create tree view */  treeview = gtk_tree_view_new_with_model (model);  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);  g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), 		    "changed", 		    G_CALLBACK (select_currency_in_iso_list),		    model);  cell = gtk_cell_renderer_text_new ();  col_offset =     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),						 -1, _("Country name"),						 cell, "text",						 COUNTRY_NAME_COLUMN,						 NULL);  column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);  gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);  cell = gtk_cell_renderer_text_new ();  col_offset =     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),						 -1, _("Currency name"),						 cell, "text",						 CURRENCY_NAME_COLUMN,						 NULL);  column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);  gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);  cell = gtk_cell_renderer_text_new ();  col_offset =     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),						 -1, _("ISO Code"), 						 cell, "text",						 CURRENCY_ISO_CODE_COLUMN,						 NULL);  column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);  gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);  cell = gtk_cell_renderer_text_new ();  col_offset =     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),						 -1, _("Sign"), 						 cell, "text",						 CURRENCY_NICKNAME_COLUMN,						 NULL);  column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);  gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);  /* Sort columns accordingly */  gtk_tree_sortable_set_default_sort_func (model, sort_tree, NULL, NULL);  gtk_tree_sortable_set_sort_func (model, COUNTRY_NAME_COLUMN, sort_tree, NULL, NULL);  gtk_tree_sortable_set_sort_column_id (model, COUNTRY_NAME_COLUMN, GTK_SORT_ASCENDING);  /* expand all rows after the treeview widget has been realized */  g_signal_connect (treeview, "realize",		    G_CALLBACK (gtk_tree_view_expand_all), NULL);  gtk_widget_set_usize ( treeview, FALSE, 200 );  gtk_container_add (GTK_CONTAINER (sw), treeview);  gtk_container_set_resize_mode (GTK_CONTAINER (sw), GTK_RESIZE_PARENT);  return sw;}