aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/dreamweb/dreamweb.cpp6
-rw-r--r--engines/dreamweb/dreamweb.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 6b9fda8882..3d74570da2 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -67,6 +67,7 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
_outSaveFile = 0;
_inSaveFile = 0;
_speed = 1;
+ _oldMouseState = 0;
}
DreamWebEngine::~DreamWebEngine() {
@@ -270,7 +271,10 @@ void DreamWebEngine::mouseCall() {
pos.y = 184;
_context.cx = pos.x;
_context.dx = pos.y;
- _context.bx = eventMan->getButtonState();
+
+ unsigned state = eventMan->getButtonState();
+ _context.bx = state == _oldMouseState? 0: state;
+ _oldMouseState = state;
}
void DreamWebEngine::setGraphicsMode() {
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index 50d2779327..f61c113e30 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -114,6 +114,7 @@ private:
Common::InSaveFile *_inSaveFile;
uint _speed;
+ uint _oldMouseState;
dreamgen::Context _context;
};