Opened 18 years ago

Closed 18 years ago

Last modified 6 years ago

#3166 closed defect (fixed)

GOB1: Segfault when clicking just outside the screen

Reported by: salty-horse Owned by: DrMcCoy
Priority: normal Component: Engine: Gob
Version: Keywords:
Cc: Game: Gobliiins

Description

Using ScummVM svn revision 26613.

Reproduced with the Amiga demo available here: http://quick.mixnmojo.com/demos/gob1_demo_ami.zip

When the game loads, choose the "pick up" action and point to the "health line" at the bottom of the screen. Click. If nothing happens try moving the cursor a few pixels up or down and click again. Eventually ScummVM will segfault.

The backtrace: #0 0x00002b5fa41a4bf1 in Gob::Goblin::moveFindItem (this=0x963450, posX=181, posY=175) at engines/gob/goblin.cpp:983 983 if ((_vm->_map->_itemsMap[_pressedMapY][_pressedMapX] == 0) && (i < 20)) { #1 0x00002b5fa41a8043 in Gob::Goblin::moveInitStep (this=0x963450, framesCount=1, action=4, cont=1, gobDesc=0x7cc890, pGobIndex=0x7fff0aa6fd98, pNextAct=0x7fff0aa6fd9a) at engines/gob/goblin.cpp:1074 #2 0x00002b5fa41a83da in Gob::Goblin::doMove (this=0x963450, gobDesc=0x7cc890, cont=1, action=4) at engines/gob/goblin.cpp:1193 #3 0x00002b5fa41be397 in Gob::Inter_v1::o1_moveGoblin (this=0x868550, params=@0x7fff0aa6fe50) at engines/gob/inter_v1.cpp:2791 #4 0x00002b5fa41c36a9 in Gob::Inter_v1::executeGoblinOpcode (this=0x868550, i=1005, params=@0x7fff0aa6fe50) at engines/gob/inter_v1.cpp:701 #5 0x00002b5fa41bc903 in Gob::Inter_v1::o1_goblinFunc (this=0x868550, params=@0x7fff0aa6ff80) at engines/gob/inter_v1.cpp:1812 #6 0x00002b5fa41c37f9 in Gob::Inter_v1::executeFuncOpcode (this=0x868550, i=2 '\002', j=5 '\005', params=@0x7fff0aa6ff80) at engines/gob/inter_v1.cpp:679 #7 0x00002b5fa41b8802 in Gob::Inter::funcBlock (this=0x868550, retFlag=0) at engines/gob/inter.cpp:242 #8 0x00002b5fa41c3045 in Gob::Inter_v1::o1_if (this=0x868550, params=@0x7fff0aa700f0) at engines/gob/inter_v1.cpp:1294 #9 0x00002b5fa41c37f9 in Gob::Inter_v1::executeFuncOpcode (this=0x868550, i=0 '\0', j=8 '\b', params=@0x7fff0aa700f0) at engines/gob/inter_v1.cpp:679 #10 0x00002b5fa41b8802 in Gob::Inter::funcBlock (this=0x868550, retFlag=0) at engines/gob/inter.cpp:242 #11 0x00002b5fa41c3045 in Gob::Inter_v1::o1_if (this=0x868550, params=@0x7fff0aa70260) at engines/gob/inter_v1.cpp:1294 #12 0x00002b5fa41c37f9 in Gob::Inter_v1::executeFuncOpcode (this=0x868550, i=0 '\0', j=8 '\b', params=@0x7fff0aa70260) at engines/gob/inter_v1.cpp:679 #13 0x00002b5fa41b8802 in Gob::Inter::funcBlock (this=0x868550, retFlag=2) at engines/gob/inter.cpp:242 #14 0x00002b5fa41b88c3 in Gob::Inter::callSub (this=0x868550, retFlag=2) at engines/gob/inter.cpp:270 #15 0x00002b5fa41c3deb in Gob::Inter_v1::o1_callSub (this=0x868550, params=@0x7fff0aa703f0) at engines/gob/inter_v1.cpp:1154 #16 0x00002b5fa41c37f9 in Gob::Inter_v1::executeFuncOpcode (this=0x868550, i=0 '\0', j=1 '\001', params=@0x7fff0aa703f0) at engines/gob/inter_v1.cpp:679 #17 0x00002b5fa41b8802 in Gob::Inter::funcBlock (this=0x868550, retFlag=2) at engines/gob/inter.cpp:242 #18 0x00002b5fa41b88c3 in Gob::Inter::callSub (this=0x868550, retFlag=2) at engines/gob/inter.cpp:270 #19 0x00002b5fa419605c in Gob::Game_v1::playTot (this=0x7efe20, skipPlay=0) at engines/gob/game_v1.cpp:194 #20 0x00002b5fa418e02c in Gob::Game::start (this=0x7efe20) at engines/gob/game.cpp:451 #21 0x00002b5fa41b7747 in Gob::Init::initGame (this=0x877120, totName=0x0) at engines/gob/init.cpp:192 #22 0x00002b5fa41a07dd in Gob::GobEngine::go (this=0x867010) at engines/gob/gob.cpp:119

Ticket imported from: #1708863. Ticket imported from: bugs/3166.

Change History (3)

comment:1 by DrMcCoy, 18 years ago

Owner: set to DrMcCoy

comment:2 by DrMcCoy, 18 years ago

Resolution: fixed
Status: newclosed

comment:3 by digitall, 6 years ago

Component: Engine: Gob
Game: Gobliiins
Note: See TracTickets for help on using tickets.