Opened 4 years ago
Closed 4 years ago
#12416 closed defect (fixed)
AGS: Assert in POSIXFilesystemNode::getChild
Reported by: | criezy | Owned by: | criezy |
---|---|---|---|
Priority: | normal | Component: | Engine: AGS |
Version: | Keywords: | ||
Cc: | Game: |
Description
A user reported on the forum that while playing Blackwell Deception and Technobabylon he encountered a crash after a while with
`
scummvm: backends/fs/posix/posix-fs.cpp:132: virtual AbstractFSNode* POSIXFilesystemNode::getChild(const Common::String&) const: Assertion `!n.contains('/')' failed.
`
I have played a good chunk of Blackwell Deception without seeing that assert yet and this will need to be investigated further.
I also looked at the code and we are calling FSNode::getChild()
in two places, both in Common::FSNode getFSNode(const char *path)
in stdio_compat.cpp, and as far as I can see the logic there seems correct (it splits the path using '/' to look recursively for subdirs and then the file).
So I don't know what could be triggering the assert.
Change History (3)
comment:1 by , 4 years ago
Summary: | Assert in POSIXFilesystemNode::getChild → AGS: Assert in POSIXFilesystemNode::getChild |
---|
comment:2 by , 4 years ago
comment:3 by , 4 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Indeed, it is fixed. I forgot I created a bug report.
The issue was with the F12 key trying to generates a screenshot in some games with a path of "/saves/scrnshot.bmp". This "/saves/" prefix indicates it should be created in the savegame directory, but this was not correctly handled.
Tested it and it appears to be fixed in commit b1683699bd213bb2ce1ce7b240523091c4786712.
Thanks again :)