diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index f035fe37b60..7fba11374e4 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -192,6 +192,13 @@ DesignModeWidget::DesignModeWidget(QWidget *parent) : DesignModeWidget::~DesignModeWidget() { + m_leftSideBar.reset(); + m_rightSideBar.reset(); + + foreach (QPointer widget, m_viewWidgets) { + if (widget) + widget.clear(); + } } void DesignModeWidget::restoreDefaultView() @@ -382,7 +389,9 @@ void DesignModeWidget::setup() Core::SideBarItem *sideBarItem = new DesignerSideBarItem(widgetInfo.widget, widgetInfo.toolBarWidgetFactory, widgetInfo.uniqueId); sideBarItems.append(sideBarItem); rightSideBarItems.append(sideBarItem); + } + m_viewWidgets.append(widgetInfo.widget); } if (projectsExplorer) { diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h index 7716fd46b3c..5250023644c 100644 --- a/src/plugins/qmldesigner/designmodewidget.h +++ b/src/plugins/qmldesigner/designmodewidget.h @@ -160,6 +160,8 @@ private: // variables QStringList m_navigatorHistory; int m_navigatorHistoryCounter; bool m_keepNavigatorHistory; + + QList >m_viewWidgets; }; } // namespace Internal