Commit
During the wordsearch puzzle (room 320 click left door) the game will crash because of an uninitalized read of temp variables in word::dispatchEvent (which gets called a lot), if the player clicks the same letter or different letters aggressively or holds down the enter key. Fixes Trac#9783.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -273,6 +273,7 @@ static const uint16 sig_uninitread_sq1_1[] = { | |
const SciWorkaroundEntry uninitializedReadWorkarounds[] = { | ||
{ GID_CAMELOT, 40, 40, 0, "Rm40", "handleEvent", NULL, 0, { WORKAROUND_FAKE, 0 } }, // when looking at the ground at the pool of Siloam - bug #6401 | ||
{ GID_CASTLEBRAIN, 280, 280, 0, "programmer", "dispatchEvent", NULL, 0, { WORKAROUND_FAKE, 0xf } }, // pressing 'q' on the computer screen in the robot room, and closing the help dialog that pops up (bug #5143). Moves the cursor to the view with the ID returned (in this case, the robot hand) | ||
{ GID_CASTLEBRAIN, 320, 325, 0, "word", "dispatchEvent", NULL, -1, { WORKAROUND_FAKE, 0 } }, // holding down enter key during the word search puzzle, temp 14 and 15 - bug #9783 | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
csnover
Member
|
||
{ GID_CNICK_KQ, -1, 0, 1, "Character", "say", NULL, -1, { WORKAROUND_FAKE, 0 } }, // checkers/backgammon, like in hoyle 3 - temps 504 and 505 - bug #6255 | ||
{ GID_CNICK_KQ, -1, 700, 0, "gcWindow", "open", NULL, -1, { WORKAROUND_FAKE, 0 } }, // when entering the control menu, like in hoyle 3 | ||
{ GID_CNICK_KQ, 300, 303, 0, "theDoubleCube", "<noname520>", NULL, 5, { WORKAROUND_FAKE, 0 } }, // while playing backgammon with doubling enabled - bug #6426 (same as the theDoubleCube::make workaround for Hoyle 3) | ||
|
Snover, why do you accept this, although my review was not done and my questions were also not answered?
I will now have to revert this, check the issue and make a proper patch.
Simply going for all temps without checking what's actually happening internally is not the way to go.