aboutsummaryrefslogtreecommitdiff
path: root/engines/lab/processroom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lab/processroom.cpp')
-rw-r--r--engines/lab/processroom.cpp14
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) {