diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-10-15 14:08:02 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-10-16 08:16:23 +0000 |
commit | e90a48e639af0c4a01f78a78ca3b33aef4f0a114 (patch) | |
tree | 0cc8e8fb44ee1776bf1ed6b309833f595c9f1d90 /src/plugins/welcome/welcomeplugin.cpp | |
parent | 42fba8ee3bee257974058e2c41f38f6dd77c6e23 (diff) |
ProjectExplorer: Fix some problems with plugin unloading
It was not possible to return false from
ProjectExplorerPlugin::initialize() without triggering crashes.
Change-Id: I96b2f80c835e69769f64f9b9c61f473e9ff88623
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/welcome/welcomeplugin.cpp')
-rw-r--r-- | src/plugins/welcome/welcomeplugin.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp index 08e763ab09..d60e7adf9c 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -429,6 +429,13 @@ void WelcomeMode::addPage(IWelcomePage *page) stackPage->setAutoFillBackground(true); m_pageStack->insertWidget(idx, stackPage); + connect(page, &QObject::destroyed, this, [this, page, stackPage, pageButton] { + m_pluginList.removeOne(page); + m_pageButtons.removeOne(pageButton); + delete pageButton; + delete stackPage; + }); + auto onClicked = [this, pageId, stackPage] { m_activePage = pageId; m_pageStack->setCurrentWidget(stackPage); |