aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/welcome/welcomeplugin.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-10-15 14:08:02 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-10-16 08:16:23 +0000
commite90a48e639af0c4a01f78a78ca3b33aef4f0a114 (patch)
tree0cc8e8fb44ee1776bf1ed6b309833f595c9f1d90 /src/plugins/welcome/welcomeplugin.cpp
parent42fba8ee3bee257974058e2c41f38f6dd77c6e23 (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.cpp7
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);