Core: Fix memory leak

Detected by valgrind

Change-Id: Iae3845edfcf1933c90b6b20b6af3909324ceb6fe
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Orgad Shaneh
2014-11-21 10:01:11 +02:00
committed by Orgad Shaneh
parent 92fbbaea9b
commit 5ad01800a3
2 changed files with 4 additions and 5 deletions

View File

@@ -158,14 +158,14 @@ void WindowList::addWindow(QWidget *window)
m_windowActionIds.append(id);
auto action = new QAction(window->windowTitle(), 0);
m_windowActions.append(action);
connect(action, &QAction::triggered, [action]() { WindowList::activateWindow(action); });
QObject::connect(action, &QAction::triggered, [action]() { WindowList::activateWindow(action); });
action->setCheckable(true);
action->setChecked(false);
Command *cmd = ActionManager::registerAction(action, id,
Context(Constants::C_GLOBAL));
cmd->setAttribute(Command::CA_UpdateText);
ActionManager::actionContainer(Constants::M_WINDOW)->addAction(cmd, Constants::G_WINDOW_LIST);
connect(window, &QWidget::windowTitleChanged, [window]() { WindowList::updateTitle(window); });
QObject::connect(window, &QWidget::windowTitleChanged, [window]() { WindowList::updateTitle(window); });
if (m_dockMenu)
m_dockMenu->addAction(action);
if (window->isActiveWindow())
@@ -200,7 +200,7 @@ void WindowList::removeWindow(QWidget *window)
QTC_ASSERT(index >= 0, return);
ActionManager::unregisterAction(m_windowActions.last(), m_windowActionIds.last());
m_windowActions.removeLast();
delete m_windowActions.takeLast();
m_windowActionIds.removeLast();
m_windows.removeOne(window);