diff options
author | Strangerke | 2015-01-31 12:10:55 +0100 |
---|---|---|
committer | Strangerke | 2015-01-31 12:10:55 +0100 |
commit | c0b2d47f383984d7f36743b9b8b51fd23e34632a (patch) | |
tree | 9917bfc9b46e9ca42419f3530343bcfaf4fabcd5 /engines | |
parent | ba330e32be08117915036286d8fcbaa21bcc0655 (diff) | |
download | scummvm-rg350-c0b2d47f383984d7f36743b9b8b51fd23e34632a.tar.gz scummvm-rg350-c0b2d47f383984d7f36743b9b8b51fd23e34632a.tar.bz2 scummvm-rg350-c0b2d47f383984d7f36743b9b8b51fd23e34632a.zip |
MADS: Add safeguards in DialogsNebular::show
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mads/nebular/dialogs_nebular.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/mads/nebular/dialogs_nebular.cpp b/engines/mads/nebular/dialogs_nebular.cpp index 74da378128..b3d3e0687d 100644 --- a/engines/mads/nebular/dialogs_nebular.cpp +++ b/engines/mads/nebular/dialogs_nebular.cpp @@ -91,6 +91,8 @@ bool DialogsNebular::show(int messageId, int objectId) { dialog->incNumLines(); } } else if (commandCheck("ASK", valStr, commandText)) { + if (!dialog) + error("DialogsNebular::show - Uninitialized dialog"); dialog->addInput(); } else if (commandCheck("VERB", valStr, commandText)) { dialogText += getVocab(action._activeAction._verbId); @@ -114,12 +116,18 @@ bool DialogsNebular::show(int messageId, int objectId) { } else if (commandCheck("WIDTH", valStr, commandText)) { _dialogWidth = atoi(valStr.c_str()); } else if (commandCheck("BAR", valStr, commandText)) { + if (!dialog) + error("DialogsNebular::show - Uninitialized dialog"); dialog->addBarLine(); } else if (commandCheck("UNDER", valStr, commandText)) { underlineFlag = true; } else if (commandCheck("DOWN", valStr, commandText)) { + if (!dialog) + error("DialogsNebular::show - Uninitialized dialog"); dialog->downPixelLine(); } else if (commandCheck("TAB", valStr, commandText)) { + if (!dialog) + error("DialogsNebular::show - Uninitialized dialog"); int xp = atoi(valStr.c_str()); dialog->setLineXp(xp); } @@ -164,6 +172,9 @@ bool DialogsNebular::show(int messageId, int objectId) { if (!centerFlag) dialog->incNumLines(); + if (!dialog) + error("DialogsNebular::show - Uninitialized dialog"); + // Show the dialog _vm->_events->setCursor(CURSOR_ARROW); dialog->show(); |