Re: Phix+EuGTK
- Posted by petelomax Jan 28, 2021
- 1840 views
I can't reproduce that here. The first question I would ask is do dict.e and struct.e match.
Below, I've created handles 171717, 181818, 191919, 202020, and deleted the last two, and done a fair bit of manual editing to the ex.err to make things line up nicely.
C:\Program Files (x86)\Phix\builtins\dict.e: trees[3][01..05] = {171717,{`struct`,`Window`,3,1},0,1,0} trees[3][06..10] = {181818,{`struct`,`Label` ,4,1},1,2,0} trees[3][11..15] = { 16,{`struct`,`Window`,3,2},0,1,0} trees[3][16..20] = { 0,{`struct`,`Label` ,4,2},0,1,0} treenames = {`1`,``,`handle lookup`} freelists = {0,0,11} C:\Program Files (x86)\Phix\builtins\structs.e: instances[3] = {2,{{171717,2545,2550},0}} instances[4] = {2,{{181818,2579,2584},0}}
So, hdict has a freelist of {11,16,0} and the right handles left in place.
instances[3,4] have freelists of {2,0} and the right handles remain.
PS the exact order in which things are created might be helpful, similar to the "Deleting Xxx" messages - should help me reproduce this.
PPS "every run comes out different" is prolly to be expected, as everything comes out in handle order - and will still be so after whatever bug this is gets fixed.