Closed jbmorley closed 2 years ago
It looks like this program is making assumptions about how drawable IDs are allocated and expects the first 14 gCREATEs it performs to return the exact IDs 2 through 15, which are used as indexes into WINLIST%
(which is only declared with 15 elements). Our current impl happens to return 3 through 16 in this particular call pattern, so the last id results in an attempted array write to WINLIST%[16]
which triggers the memory.lua error.
Programs really shouldn't be making assumptions like this, it's not a documented feature of the runtime how it allocates drawable IDs, but of course there are programs out there that do...
We can probably make our allocation strategy line up with this program's expectations.
Description
Internal error in Mancala immediately after clicking through the registration dialog.
Details