diff options
author | Borja Lorente | 2016-07-10 23:03:26 +0200 |
---|---|---|
committer | Borja Lorente | 2016-08-14 18:53:49 +0200 |
commit | a5a094b6bdf1dd61f270e60068c42d9f62b8c447 (patch) | |
tree | 44d1616a47f612c42ce3d38ba909008c9bf2a473 /engines/macventure | |
parent | b6acfe868ce4b614bfdc9d510e10e35923a7fed6 (diff) | |
download | scummvm-rg350-a5a094b6bdf1dd61f270e60068c42d9f62b8c447.tar.gz scummvm-rg350-a5a094b6bdf1dd61f270e60068c42d9f62b8c447.tar.bz2 scummvm-rg350-a5a094b6bdf1dd61f270e60068c42d9f62b8c447.zip |
MACVENTURE: Begin fixing second inventory problem
Diffstat (limited to 'engines/macventure')
-rw-r--r-- | engines/macventure/gui.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/macventure/gui.cpp b/engines/macventure/gui.cpp index 880ec286d0..1f07e7c7c4 100644 --- a/engines/macventure/gui.cpp +++ b/engines/macventure/gui.cpp @@ -830,7 +830,8 @@ WindowReference Gui::findWindowAtPoint(Common::Point point) { Common::List<WindowData>::iterator it; for (it = _windowData->begin(); it != _windowData->end(); it++) { if (it->bounds.contains(point) && it->refcon != kDiplomaWindow) { //HACK, diploma should be cosnidered - return it->refcon; + if (findWindow(it->refcon)->isActive()) + return it->refcon; } } return kNoWindow; @@ -957,6 +958,7 @@ void Gui::selectDraggable(ObjID child, WindowReference origin, Common::Point sta void Gui::handleDragRelease(Common::Point pos, bool shiftPressed, bool isDoubleClick) { WindowReference destinationWindow = findWindowAtPoint(pos); + if (destinationWindow == kNoWindow) return; if (_draggedObj.id != 0) { if (_draggedObj.hasMoved) { ObjID destObject = getWindowData(destinationWindow).objRef; @@ -1260,6 +1262,7 @@ bool Gui::processInventoryEvents(WindowClick click, Common::Event & event) { // Find the appropriate window WindowReference ref = findWindowAtPoint(event.mouse); + if (ref == kNoWindow) return false; Graphics::MacWindow *win = findWindow(ref); WindowData &data = findWindowData((WindowReference) ref); ObjID child; |