diff options
Diffstat (limited to 'engines/lab/processroom.cpp')
-rw-r--r-- | engines/lab/processroom.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp index e49d2acd02..daf4f3ba84 100644 --- a/engines/lab/processroom.cpp +++ b/engines/lab/processroom.cpp @@ -56,16 +56,16 @@ ViewData *LabEngine::getViewData(uint16 roomNum, uint16 direction) { if (_rooms[roomNum]._roomMsg.empty()) _resource->readViews(roomNum); - ViewData *view = _rooms[roomNum]._view[direction]; + Common::List<ViewData> &views = _rooms[roomNum]._view[direction]; - do { - if (checkConditions(view->_condition)) - break; + Common::List<ViewData>::iterator view; - view = view->_nextCondition; - } while (true); + for (view = views.begin(); view != views.end(); ++view) { + if (checkConditions(view->_condition)) + return &(*view); + } - return view; + error("No view with matching condition found"); } CloseData *LabEngine::getObject(Common::Point pos, CloseDataPtr closePtr) { |