[Scummvm-cvs-logs] SF.net SVN: scummvm:[52715] scummvm/trunk/engines/scumm
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Tue Sep 14 01:35:55 CEST 2010
Revision: 52715
http://scummvm.svn.sourceforge.net/scummvm/?rev=52715&view=rev
Author: lordhoto
Date: 2010-09-13 23:35:55 +0000 (Mon, 13 Sep 2010)
Log Message:
-----------
SCUMM: Fix for bug #3064655 "Restart with F8 key not working properly".
Modified Paths:
--------------
scummvm/trunk/engines/scumm/dialogs.cpp
scummvm/trunk/engines/scumm/dialogs.h
Modified: scummvm/trunk/engines/scumm/dialogs.cpp
===================================================================
--- scummvm/trunk/engines/scumm/dialogs.cpp 2010-09-13 21:19:58 UTC (rev 52714)
+++ scummvm/trunk/engines/scumm/dialogs.cpp 2010-09-13 23:35:55 UTC (rev 52715)
@@ -473,14 +473,25 @@
}
ConfirmDialog::ConfirmDialog(ScummEngine *scumm, int res)
- : InfoDialog(scumm, res) {
+ : InfoDialog(scumm, res), _yesKey('y'), _noKey('n') {
+
+ if (_message.lastChar() != ')') {
+ _yesKey = _message.lastChar();
+ _message.deleteLastChar();
+
+ if (_yesKey >= 'A' && _yesKey <= 'Z')
+ _yesKey += 'a' - 'A';
+
+ _text->setLabel(_message);
+ reflowLayout();
+ }
}
void ConfirmDialog::handleKeyDown(Common::KeyState state) {
- if (state.keycode == Common::KEYCODE_n) {
+ if (state.keycode == Common::KEYCODE_n || state.ascii == _noKey) {
setResult(0);
close();
- } else if (state.keycode == Common::KEYCODE_y) {
+ } else if (state.keycode == Common::KEYCODE_y || state.ascii == _yesKey) {
setResult(1);
close();
} else
Modified: scummvm/trunk/engines/scumm/dialogs.h
===================================================================
--- scummvm/trunk/engines/scumm/dialogs.h 2010-09-13 21:19:58 UTC (rev 52714)
+++ scummvm/trunk/engines/scumm/dialogs.h 2010-09-13 23:35:55 UTC (rev 52715)
@@ -118,6 +118,9 @@
public:
ConfirmDialog(ScummEngine *scumm, int res);
virtual void handleKeyDown(Common::KeyState state);
+
+protected:
+ char _yesKey, _noKey;
};
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list