[Scummvm-cvs-logs] SF.net SVN: scummvm: [26162] scummvm/trunk/engines/sky/mouse.cpp

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Sat Mar 17 10:37:48 CET 2007


Revision: 26162
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26162&view=rev
Author:   eriktorbjorn
Date:     2007-03-17 02:37:47 -0700 (Sat, 17 Mar 2007)

Log Message:
-----------
Use the new getButtonState() function to test if the mouse button is still
pressed. This way, it won't matter if we've already missed the "mouse up"
event. Fixes bug #1510038 ("BASS: Possible glitch when examining inventory
items".

Modified Paths:
--------------
    scummvm/trunk/engines/sky/mouse.cpp

Modified: scummvm/trunk/engines/sky/mouse.cpp
===================================================================
--- scummvm/trunk/engines/sky/mouse.cpp	2007-03-17 08:06:45 UTC (rev 26161)
+++ scummvm/trunk/engines/sky/mouse.cpp	2007-03-17 09:37:47 UTC (rev 26162)
@@ -175,22 +175,24 @@
 	OSystem::Event event;
 	while (mousePressed || _system->getMillis() < now + minDelay) {
 		Common::EventManager *eventMan = _system->getEventManager();
+
+		if (eventMan->shouldQuit()) {
+			SkyEngine::_systemVars.quitGame = true;
+			minDelay = 0;
+			mousePressed = false;
+		}
+
+		if (!eventMan->getButtonState())
+			mousePressed = false;
+
 		while (eventMan->pollEvent(event)) {
 			switch (event.type) {
-			case OSystem::EVENT_LBUTTONUP:
-				mousePressed = false;
-				break;
 			case OSystem::EVENT_KEYDOWN:
 				if (event.kbd.ascii == 27) {
 					minDelay = 0;
 					mousePressed = false;
 				}
 				break;
-			case OSystem::EVENT_QUIT:
-				SkyEngine::_systemVars.quitGame = true;
-				minDelay = 0;
-				mousePressed = false;
-				break;
 			default:
 				break;
 			}


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