From 374bedfb00d623b0401e1ffdba9b07cba11d21f5 Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@digia.com>
Date: Wed, 18 Sep 2013 13:22:41 +0200
Subject: [PATCH] QmlDesigner.StatesEditor: create widget on demand

Otherwise the widget is created but never inserted in the widget
hierarchy, if the designer was never activated.
In this case the widget was not deleted.

Task-number: QTCREATORBUG-10169

Change-Id: Ic86d540a7044c07e272357edafd4d2f81fd1b7a4
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
---
 .../qmldesigner/components/stateseditor/stateseditorview.cpp  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
index a259390cd19..772875365bc 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
@@ -52,7 +52,6 @@ namespace QmlDesigner {
 StatesEditorView::StatesEditorView(QObject *parent) :
         AbstractView(parent),
         m_statesEditorModel(new StatesEditorModel(this)),
-        m_statesEditorWidget(new StatesEditorWidget(this, m_statesEditorModel.data())),
         m_lastIndex(-1)
 {
     Q_ASSERT(m_statesEditorModel);
@@ -61,6 +60,9 @@ StatesEditorView::StatesEditorView(QObject *parent) :
 
 WidgetInfo StatesEditorView::widgetInfo()
 {
+    if (!m_statesEditorWidget)
+        m_statesEditorWidget = new StatesEditorWidget(this, m_statesEditorModel.data());
+
     return createWidgetInfo(m_statesEditorWidget.data(), 0, "StatesEditor", WidgetInfo::TopPane, 0, tr("States Editor"));
 }
 
-- 
GitLab