1. EuGTK - puzzling Gtk errors

global object 
 lvNutrientsREQ = Iter(4), 
 lvNutrientsNonREQ = Iter(4), 
 lvDiet = Iter(5), 
 lvFoods = Iter(4), 
 lvRecipes = Iter(4) 
 
global constant 
 lstNutrientsREQ = List:View(lvNutrientsREQ,{"REQ nutrient","in 100g food","in diet","dlNR"}), 
 lstNutrientsNonREQ = List:View(lvNutrientsNonREQ,{"nonREQ nutrient","in 100g food","in diet","dlNN"}), 
 lstDiet = List:View(lvDiet,{"food","amount","kitchen measure","nutrient","dlD"}), 
 lstFoods = List:View(lvFoods,{"food","N/100g","N/req cal","dlF"}), 
 lstRecipes = List:View(lvRecipes,{"recipe","N/100g","n/req cal","dlR"}), 
 indNR = 4, indNN = 4, indD = 5, indF = 4, indR = 4 
-- The "dl" (display list) columns are hidden. 
 
global object 
 storeNutrientsREQ = List:Store({gSTR,gSTR,gSTR,gINT}), 
 storeNutrientsNonREQ = List:Store({gSTR,gSTR,gSTR,gINT}), 
 storeDiet = List:Store({gSTR,gSTR,gSTR,gSTR,gINT}), 
 storeFoods = List:Store({gSTR,gSTR,gSTR,gINT}), 
 storeRecipes = List:Store({gSTR,gSTR,gSTR,gINT}) 
 
set(lstNutrientsREQ,"model",storeNutrientsREQ) 
set(lstNutrientsNonREQ,"model",storeNutrientsNonREQ) 
set(lstDiet,"model",storeDiet) 
set(lstFoods,"model",storeFoods) 
set(lstRecipes,"model",storeRecipes) 

So far as I can see, the above code is correct. At least it seems to work except for the errors below.

I'm getting a bunch of repetitions of these errors.

Gtk-CRITICAL : gtk_list_store_get_column_type: assertion `index < GTK_LIST_STORE (tree_model)->n_columns' failed

Gtk-WARNING : /build/buildd/gtk+2.0-2.20.1/gtk/gtkliststore.c:797: Invalid column number 4 added to iter (remember to end your list of columns with a -1)

Sometimes number 4, sometimes 5, one 6.

No meaningful line numbers are given.

I went thru all the list stuff in the whole program and everything seems to be correct. It even seems to work correctly. The program does not crash. The lists seem to work correctly.

What is happening? How can I track down the code where these errors are happening?

new topic     » topic index » view message » categorize

2. Re: EuGTK - puzzling Gtk errors

There's nothing wrong with the code above. This message is most likely due to sending the liststore more columns of data than it has been set up to hold. You need to look where you're adding data to the store:

for i = 1 to length(var) do -- load the list store with data 
   LV:Row(lv,store,var[i])  
end for 

Easy way to check is to limit or slice the sequences being added, i.e. var[i][1..4] for a view that's supposed to hold 4 columns.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu