diff options
author | Paul Gilbert | 2018-11-17 07:36:36 -0800 |
---|---|---|
committer | Paul Gilbert | 2018-12-08 19:05:59 -0800 |
commit | 4b011b2f1cfdc3aac0468248f4feb9faea3501a2 (patch) | |
tree | 1c252f542408f34b159e77622b5f70d43947b5d6 /engines/glk/selection.cpp | |
parent | 3d34cd151f9f56d24299eba4372e71e4a6b26131 (diff) | |
download | scummvm-rg350-4b011b2f1cfdc3aac0468248f4feb9faea3501a2.tar.gz scummvm-rg350-4b011b2f1cfdc3aac0468248f4feb9faea3501a2.tar.bz2 scummvm-rg350-4b011b2f1cfdc3aac0468248f4feb9faea3501a2.zip |
GLK: Freeing of data on exit
Diffstat (limited to 'engines/glk/selection.cpp')
-rw-r--r-- | engines/glk/selection.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/glk/selection.cpp b/engines/glk/selection.cpp index 566ae65345..f251171736 100644 --- a/engines/glk/selection.cpp +++ b/engines/glk/selection.cpp @@ -65,14 +65,21 @@ WindowMask::WindowMask() : _hor(0), _ver(0), _links(nullptr) { resize(g_system->getWidth(), g_system->getHeight()); } -void WindowMask::resize(size_t x, size_t y) { - // Deallocate old storage +WindowMask::~WindowMask() { + clear(); +} + +void WindowMask::clear() { for (size_t i = 0; i < _hor; i++) { if (_links[i]) delete _links[i]; } delete _links; +} + +void WindowMask::resize(size_t x, size_t y) { + clear(); _hor = x + 1; _ver = y + 1; |