[Scummvm-cvs-logs] scummvm master -> 4789e0f02665a8cc8cf0b814d65e71d38f88a5f1

digitall digitall at scummvm.org
Sat Jun 30 00:41:38 CEST 2012


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
4789e0f026 LURE: Fix engine crash in copy protection screen.


Commit: 4789e0f02665a8cc8cf0b814d65e71d38f88a5f1
    https://github.com/scummvm/scummvm/commit/4789e0f02665a8cc8cf0b814d65e71d38f88a5f1
Author: D G Turner (digitall at scummvm.org)
Date: 2012-06-29T15:37:11-07:00

Commit Message:
LURE: Fix engine crash in copy protection screen.

Fixes bug #3539031 - "LURE: Crash at Copy Protection Screen".

Previously, the code didn't prevent keyboard events with modifiers being
used. Since the ascii values for these were outside the 0-9 numeric
range, this resulted in an invalid frame number being used and thus the
engine aborted at an asertion.

Changed paths:
    engines/lure/surface.cpp



diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp
index 4d63647..7af9d66 100644
--- a/engines/lure/surface.cpp
+++ b/engines/lure/surface.cpp
@@ -1349,7 +1349,7 @@ bool CopyProtectionDialog::show() {
 
 		while (!engine.shouldQuit()) {
 			while (events.pollEvent() && (_charIndex < 4)) {
-				if (events.type() == Common::EVENT_KEYDOWN) {
+				if (events.type() == Common::EVENT_KEYDOWN && !(events.event().kbd.flags & Common::KBD_NON_STICKY)) {
 					if ((events.event().kbd.keycode == Common::KEYCODE_BACKSPACE) && (_charIndex > 0)) {
 						// Remove the last number typed
 						--_charIndex;






More information about the Scummvm-git-logs mailing list