Still haven't had a chance to fire up linux, but here are some notes on issues I was having with gtk before.
1) In looking into my issues with gtk & freeprocess, I found that amending the gtk_main_iteration_do call in Wait in gtkgui.bmx to False fixed things. I don't recall if this tweak felt like a sensible fix, or just a hack to get things going - you may want to check it out?
2) In finding issues with treeviews, I found slightly different behaviour between FreeTreeViewNode and FreeGadget, possibly solely because one had been over-ridden with locale functions, rather than a genuine difference. You might want to check that both commands do the same thing. (I think this was my bad, but noted just in case useful!)
3) In treeviews, I did find and fix some CE IDE code that was calling nodes after they had been freed. Although I agree this shouldn't just be ignored, it also didn't fail very nicely on linux. The root cause was iter=Null inside the populatelistrow generating errors when calling gtk_tree_store_set_value. I suggest adding a Debug.Assert iter<>Null...and / or maybe consider ensuring same across other platforms? This may have been related to 2.
4) I was at times getting gtk critical errors on SetGadgetShape on a panel. This was intermittent, and by this stage vastly obscured by the accellerator keys issue, and it was at this point I gave up before.
Firing up the linux beast now...
1) In looking into my issues with gtk & freeprocess, I found that amending the gtk_main_iteration_do call in Wait in gtkgui.bmx to False fixed things. I don't recall if this tweak felt like a sensible fix, or just a hack to get things going - you may want to check it out?
2) In finding issues with treeviews, I found slightly different behaviour between FreeTreeViewNode and FreeGadget, possibly solely because one had been over-ridden with locale functions, rather than a genuine difference. You might want to check that both commands do the same thing. (I think this was my bad, but noted just in case useful!)
3) In treeviews, I did find and fix some CE IDE code that was calling nodes after they had been freed. Although I agree this shouldn't just be ignored, it also didn't fail very nicely on linux. The root cause was iter=Null inside the populatelistrow generating errors when calling gtk_tree_store_set_value. I suggest adding a Debug.Assert iter<>Null...and / or maybe consider ensuring same across other platforms? This may have been related to 2.
4) I was at times getting gtk critical errors on SetGadgetShape on a panel. This was intermittent, and by this stage vastly obscured by the accellerator keys issue, and it was at this point I gave up before.
Firing up the linux beast now...