diff options
author | Eugene Sandulenko | 2017-07-30 09:18:42 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-08-01 10:42:21 +0200 |
commit | 645ee64da0f837245443842d53621e8fd5ac924f (patch) | |
tree | a9d0e6fe46e23b73ca015a47fdf2a64a11d92c24 /graphics/macgui/macwindowmanager.cpp | |
parent | 73b6b12cbb926c2e21020afa4a984bbeaeac3db6 (diff) | |
download | scummvm-rg350-645ee64da0f837245443842d53621e8fd5ac924f.tar.gz scummvm-rg350-645ee64da0f837245443842d53621e8fd5ac924f.tar.bz2 scummvm-rg350-645ee64da0f837245443842d53621e8fd5ac924f.zip |
GRAPHICS: MACGUI: Avoid double free of MacTextWindow
Diffstat (limited to 'graphics/macgui/macwindowmanager.cpp')
-rw-r--r-- | graphics/macgui/macwindowmanager.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp index 1e4c49fa76..d3f7d22c4d 100644 --- a/graphics/macgui/macwindowmanager.cpp +++ b/graphics/macgui/macwindowmanager.cpp @@ -176,8 +176,7 @@ MacWindowManager::~MacWindowManager() { MacWindow *MacWindowManager::addWindow(bool scrollable, bool resizable, bool editable) { MacWindow *w = new MacWindow(_lastId, scrollable, resizable, editable, this); - _windows.push_back(w); - _windowStack.push_back(w); + addWindowInitialized(w); setActive(getNextId()); @@ -187,8 +186,7 @@ MacWindow *MacWindowManager::addWindow(bool scrollable, bool resizable, bool edi MacTextWindow *MacWindowManager::addTextWindow(const MacFont *font, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment) { MacTextWindow *w = new MacTextWindow(this, font, fgcolor, bgcolor, maxWidth, textAlignment); - _windows.push_back(w); - _windowStack.push_back(w); + addWindowInitialized(w); setActive(getNextId()); @@ -201,10 +199,6 @@ void MacWindowManager::addWindowInitialized(MacWindow *macwindow) { _windowStack.push_back(macwindow); } -int MacWindowManager::getNextId() { - return _lastId++; -} - MacMenu *MacWindowManager::addMenu() { _menu = new MacMenu(getNextId(), _screen->getBounds(), this); |