forked from qt-creator/qt-creator
QuickDesigner: Fix crash on exit
Make sure that the sidebar items are deleted before the core (e.g. ICore::instance()) is deleted. Task-number: QTCREATORBUG-3269 Reviewed-by: Thomas Hartmann
This commit is contained in:
@@ -670,6 +670,9 @@ void DesignModeWidget::setup()
|
|||||||
connect(m_leftSideBar, SIGNAL(availableItemsChanged()), SLOT(updateAvailableSidebarItemsRight()));
|
connect(m_leftSideBar, SIGNAL(availableItemsChanged()), SLOT(updateAvailableSidebarItemsRight()));
|
||||||
connect(m_rightSideBar, SIGNAL(availableItemsChanged()), SLOT(updateAvailableSidebarItemsLeft()));
|
connect(m_rightSideBar, SIGNAL(availableItemsChanged()), SLOT(updateAvailableSidebarItemsLeft()));
|
||||||
|
|
||||||
|
connect(Core::ICore::instance(), SIGNAL(coreAboutToClose()),
|
||||||
|
this, SLOT(deleteSidebarWidgets()));
|
||||||
|
|
||||||
m_fakeToolBar->setToolbarCreationFlags(Core::EditorToolBar::FlagsStandalone);
|
m_fakeToolBar->setToolbarCreationFlags(Core::EditorToolBar::FlagsStandalone);
|
||||||
//m_fakeToolBar->addEditor(textEditor()); ### what does this mean?
|
//m_fakeToolBar->addEditor(textEditor()); ### what does this mean?
|
||||||
m_fakeToolBar->setNavigationVisible(false);
|
m_fakeToolBar->setNavigationVisible(false);
|
||||||
@@ -738,6 +741,14 @@ void DesignModeWidget::updateAvailableSidebarItemsLeft()
|
|||||||
m_leftSideBar->setUnavailableItemIds(m_rightSideBar->unavailableItemIds());
|
m_leftSideBar->setUnavailableItemIds(m_rightSideBar->unavailableItemIds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DesignModeWidget::deleteSidebarWidgets()
|
||||||
|
{
|
||||||
|
delete m_leftSideBar;
|
||||||
|
delete m_rightSideBar;
|
||||||
|
m_leftSideBar = 0;
|
||||||
|
m_rightSideBar = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void DesignModeWidget::resizeEvent(QResizeEvent *event)
|
void DesignModeWidget::resizeEvent(QResizeEvent *event)
|
||||||
{
|
{
|
||||||
if (m_warningWidget)
|
if (m_warningWidget)
|
||||||
|
|||||||
@@ -148,6 +148,8 @@ private slots:
|
|||||||
void updateAvailableSidebarItemsLeft();
|
void updateAvailableSidebarItemsLeft();
|
||||||
void updateAvailableSidebarItemsRight();
|
void updateAvailableSidebarItemsRight();
|
||||||
|
|
||||||
|
void deleteSidebarWidgets();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void resizeEvent(QResizeEvent *event);
|
void resizeEvent(QResizeEvent *event);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user