[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