diff options
author | Paul Gilbert | 2012-06-16 18:33:38 +1000 |
---|---|---|
committer | Paul Gilbert | 2012-06-16 18:33:38 +1000 |
commit | 37f772c2d7acf314fa1b347aae410daa1337edc2 (patch) | |
tree | 2fe3702c30e1f5069dd6384d2b6f7748fc9e0ec9 /engines/tony | |
parent | 71aa08c7f0f00be2e2c9ca013aa7682d79b6796f (diff) | |
download | scummvm-rg350-37f772c2d7acf314fa1b347aae410daa1337edc2.tar.gz scummvm-rg350-37f772c2d7acf314fa1b347aae410daa1337edc2.tar.bz2 scummvm-rg350-37f772c2d7acf314fa1b347aae410daa1337edc2.zip |
TONY: Bugfix for hanging after giving 'shrimp' to the parrot
Diffstat (limited to 'engines/tony')
-rw-r--r-- | engines/tony/mpal/mpal.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index 92ece3b0b4..7e1831ec4d 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -1937,6 +1937,12 @@ void mpalQueryCORO(CORO_PARAM, uint16 wQueryType, uint32 *dwRet, ...) { */ CORO_INVOKE_2(CoroScheduler.waitForSingleObject, GLOBALS._hAskChoice, CORO_INFINITE); + // WORKAROUND: Introduce a single frame delay so that if there are multiple actions running, + // they all have time to be signalled before resetting the event. This fixes a problem where + // if you try to use the 'shrimp' on the parrot a second time after trying to first use it + // whilst the parrot was talking, the cursor wouldn't be re-enabled afterwards + CORO_SLEEP(1); + CoroScheduler.resetEvent(GLOBALS._hAskChoice); if (GLOBALS._bExecutingDialog) |