aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sherlock/tattoo/widget_inventory.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/sherlock/tattoo/widget_inventory.cpp b/engines/sherlock/tattoo/widget_inventory.cpp
index 8607e875e9..6386ec5d04 100644
--- a/engines/sherlock/tattoo/widget_inventory.cpp
+++ b/engines/sherlock/tattoo/widget_inventory.cpp
@@ -376,10 +376,14 @@ void WidgetInventoryVerbs::handleEvents() {
Common::Rect innerBounds = _bounds;
innerBounds.grow(-3);
+ // Flag is they started pressing outside of the menu
+ if (events._firstPress && !_bounds.contains(mousePos))
+ _outsideMenu = true;
+
if (events._released || events._rightReleased || ui._keyState.keycode == Common::KEYCODE_ESCAPE) {
ui._scrollHighlight = SH_NONE;
- if (_outsideMenu && !innerBounds.contains(mousePos)) {
+ if (_outsideMenu && !innerBounds.contains(mousePos) || ui._keyState.keycode == Common::KEYCODE_ESCAPE) {
banishWindow();
_owner->_invVerbMode = 0;
} else if (innerBounds.contains(mousePos)) {