Hi,

> There seem to be some minor bugs, though. When I save a game in LSL2,
> quit, then start LSL2 again and restore in-game, I see:
> 
> Restarting with replay()
> Memtesting E:\src\freesci\src\engine\vm.c: line 1633
> Memtest succeeded!
> Attempt to set invalid attribute of menu 4, item 1: 0x001a
> Resuming on handle 0000 (value 0000)
> Attempt to resume invalid handle 0000

These could be bugs in LSL2. Are they fatal?
Setting attribute 0x1a looks interesting, though- does Sierra SCI
handle this attribute?

> When restoring in-game, the free(s) at vm.c:1617 has already been free'd
> somewhere else.

Hmm, I can't seem to find a place where it's freed explicitly; can purify
do this? Maybe dmalloc can...

Also (this is important), does the error happen if restoring succeeded, or
if it failed? cfsml tries to track memory that was allocated while
restoring a game so that it can free that memory on error; maybe the game
state was added to this list by accident. This code hasn't been tested
particularly well, though.

> When running under a debugger, or on some platforms, this
> will cause a crash. This does not happen when doing a "quick-start".

There's no old state to free in this case, after all.

llap,
 Christoph


Reply via email to