aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sequences_lok.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/sequences_lok.cpp')
-rw-r--r--engines/kyra/sequences_lok.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index e6dfd9efe2..26c09bcf43 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -1142,6 +1142,11 @@ void KyraEngine_LoK::seq_playEnding() {
_seqPlayerFlag = false;
_screen->showMouse();
+
+ // To avoid any remaining input events, we remove the queue
+ // over here.
+ _eventList.clear();
+
if (_flags.platform == Common::kPlatformAmiga) {
_screen->_charWidth = -2;
_screen->setCurPage(2);
@@ -1362,15 +1367,12 @@ void KyraEngine_LoK::seq_playCreditsAmiga() {
}
int size = 0;
- const uint8 *bufferTmp = _staticres->loadRawData(k1CreditsStrings, size);
- char *buffer = new char[size];
- assert(buffer);
- memcpy(buffer, bufferTmp, size);
+ const char *creditsData = (const char *)_staticres->loadRawData(k1CreditsStrings, size);
char stringBuffer[81];
memset(stringBuffer, 0, sizeof(stringBuffer));
- char *cur = buffer;
+ const char *cur = creditsData;
char *specialString = stringBuffer;
bool fillRectFlag = false, subWidth = false, centerFlag = false;
x = 0;
@@ -1432,9 +1434,7 @@ void KyraEngine_LoK::seq_playCreditsAmiga() {
removeInputTop();
break;
}
- } while (++cur != buffer + size && !shouldQuit());
-
- delete[] buffer;
+ } while (++cur != (creditsData + size) && !shouldQuit());
}
bool KyraEngine_LoK::seq_skipSequence() const {