QFG3: assertion failure when making thief sign to rope maker
|Reported by:||SF/vcappe||Owned by:||wjp|
|Game:||Quest for Glory 3|
the game crashes in asserting isValidRect() when making the thief sign to the rope maker. To be more precise it happens when the thief start to make his jump.
This bug apparently appeared in r52207 (git aa3cefa) which was supposed to fix bug #3039768 (in addition to r52207, i tested v1.2.0 v1.2.1 and 1.3.0git4514-g489d4d6; all of them have the bug).
v1.1.1 and r52204 (git 2bd5077) do not crash (since they have bug #3039768 instead).
platform: Arch Linux
compiler: gcc 4.5.2
i tried both -O2 and -O0
WARNING: kCan(t)BeHere - invalid rect -32430, 32767 -> -32415, -32767!
WARNING: kCan(t)BeHere - invalid rect -32516, 32767 -> -32501, -32767!
WARNING: kCan(t)BeHere - invalid rect -32602, 32767 -> -32587, -32767!
WARNING: kCan(t)BeHere - invalid rect -32429, 32766 -> -32414, -32768!
scummvm: /usr/local/src/devel/scummvm/common/rect.h:103: Common::Rect::Rect(int16, int16, int16, int16): Assertion `isValidRect()' failed.
+ Aborted (core dumped) ./build_debug/scummvm --savepath=saves/ -x 003 -F qfg3
compiling assertions out (-DNDEBUG=1) doesn't help either: it sends the game in a seemingly infinite loop that only SIGKILL can break, while spewing lots of 'kCan(t)BeHere - invalid rect' warnings at stderr.
To reproduce: load attached savegame; click on the hero; select "give the thief sign"; then click until the rope maker finish his speak.
Ticket imported from: #3289799. Ticket imported from: bugs/5650.