diff options
| -rw-r--r-- | engines/lab/engine.cpp | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp index cf6ae71563..93b7cb4324 100644 --- a/engines/lab/engine.cpp +++ b/engines/lab/engine.cpp @@ -141,6 +141,18 @@ void LabEngine::freeScreens() {  		delete _invImages[imgIdx];  		_invImages[imgIdx] = nullptr;  	} + +	// We can't use freeButtonList() here, because some buttons are shared +	// between the two lists. +	for (ButtonList::iterator buttonIter = _moveButtonList.begin(); buttonIter != _moveButtonList.end(); ++buttonIter) { +		delete *buttonIter; +	} +	_moveButtonList.clear(); + +	for (ButtonList::iterator buttonIter = _invButtonList.begin(); buttonIter != _invButtonList.end(); ++buttonIter) { +		delete *buttonIter; +	} +	_invButtonList.clear();  }  void LabEngine::perFlipButton(uint16 buttonId) { | 
