diff --git a/engines/director/events.cpp b/engines/director/events.cpp index 770dda6991e..48246270c60 100644 --- a/engines/director/events.cpp +++ b/engines/director/events.cpp @@ -151,6 +151,7 @@ bool Movie::processEvent(Common::Event &event) { spriteId = sc->getActiveSpriteIDFromPos(pos); else spriteId = sc->getMouseSpriteIDFromPos(pos); + _currentClickOnSpriteId = sc->getActiveSpriteIDFromPos(pos); _currentHandlingChannelId = spriteId; diff --git a/graphics/macgui/macbutton.cpp b/graphics/macgui/macbutton.cpp index b43730ce89b..72df75b48dc 100644 --- a/graphics/macgui/macbutton.cpp +++ b/graphics/macgui/macbutton.cpp @@ -179,8 +179,8 @@ bool MacButton::processEvent(Common::Event &event) { if (_wm->_mouseDown) { if (_wm->_mode & kWMModeButtonDialogStyle) return true; - else if (!_dims.contains(_wm->_lastClickPos)) - return false; + // hovered widget in macwindow will help us set the button status to non-active. + // so we only care about setting active here is ok. setActive(true); }