[Scummvm-cvs-logs] SF.net SVN: scummvm:[42966] scummvm/branches/branch-1-0-0/engines/cruise/ cruise_main.cpp
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Sat Aug 1 01:28:04 CEST 2009
Revision: 42966
http://scummvm.svn.sourceforge.net/scummvm/?rev=42966&view=rev
Author: dreammaster
Date: 2009-07-31 23:28:04 +0000 (Fri, 31 Jul 2009)
Log Message:
-----------
Backport of bug fix for the event loop that was discarding pending events rather than leaving them to be processed in the following frame
Modified Paths:
--------------
scummvm/branches/branch-1-0-0/engines/cruise/cruise_main.cpp
Modified: scummvm/branches/branch-1-0-0/engines/cruise/cruise_main.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/cruise/cruise_main.cpp 2009-07-31 23:27:19 UTC (rev 42965)
+++ scummvm/branches/branch-1-0-0/engines/cruise/cruise_main.cpp 2009-07-31 23:28:04 UTC (rev 42966)
@@ -1625,29 +1625,28 @@
bool manageEvents() {
Common::Event event;
- bool result = false;
Common::EventManager * eventMan = g_system->getEventManager();
- while (eventMan->pollEvent(event) && !result) {
- result = true;
+ while (eventMan->pollEvent(event)) {
+ bool abortFlag = true;
switch (event.type) {
case Common::EVENT_LBUTTONDOWN:
- currentMouseButton |= MB_LEFT;
+ currentMouseButton |= CRS_MB_LEFT;
break;
case Common::EVENT_LBUTTONUP:
- currentMouseButton &= ~MB_LEFT;
+ currentMouseButton &= ~CRS_MB_LEFT;
break;
case Common::EVENT_RBUTTONDOWN:
- currentMouseButton |= MB_RIGHT;
+ currentMouseButton |= CRS_MB_RIGHT;
break;
case Common::EVENT_RBUTTONUP:
- currentMouseButton &= ~MB_RIGHT;
+ currentMouseButton &= ~CRS_MB_RIGHT;
break;
case Common::EVENT_MOUSEMOVE:
currentMouseX = event.mouse.x;
currentMouseY = event.mouse.y;
- result = false;
+ abortFlag = false;
break;
case Common::EVENT_QUIT:
case Common::EVENT_RTL:
@@ -1656,7 +1655,7 @@
case Common::EVENT_KEYUP:
switch (event.kbd.keycode) {
case Common::KEYCODE_ESCAPE:
- currentMouseButton &= ~MB_MIDDLE;
+ currentMouseButton &= ~CRS_MB_MIDDLE;
break;
default:
break;
@@ -1665,7 +1664,7 @@
case Common::EVENT_KEYDOWN:
switch (event.kbd.keycode) {
case Common::KEYCODE_ESCAPE:
- currentMouseButton |= MB_MIDDLE;
+ currentMouseButton |= CRS_MB_MIDDLE;
break;
default:
keyboardCode = event.kbd.keycode;
@@ -1686,9 +1685,12 @@
default:
break;
}
+
+ if (abortFlag)
+ return true;
}
- return result;
+ return false;
}
void getMouseStatus(int16 *pMouseVar, int16 *pMouseX, int16 *pMouseButton, int16 *pMouseY) {
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