From 7b73ff7f770230380c78c1d24e01b1defb595a48 Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Mon, 1 Sep 2014 13:06:45 +0200
Subject: [PATCH] Designer: Remove use of xml editor() link by storing the
 pointer on creation

Change-Id: I10b8f36a2a30997ef0ebb7ae6a7391af77664b92
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
---
 src/plugins/designer/designerxmleditorwidget.cpp | 6 +++---
 src/plugins/designer/designerxmleditorwidget.h   | 3 +++
 src/plugins/designer/formeditorw.cpp             | 2 +-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/plugins/designer/designerxmleditorwidget.cpp b/src/plugins/designer/designerxmleditorwidget.cpp
index 3cc41addc61..291b60173d2 100644
--- a/src/plugins/designer/designerxmleditorwidget.cpp
+++ b/src/plugins/designer/designerxmleditorwidget.cpp
@@ -42,8 +42,8 @@ DesignerXmlEditorWidget::DesignerXmlEditorWidget(QDesignerFormWindowInterface *f
 {
     TextEditor::BaseTextDocumentPtr doc(new FormWindowFile(form));
     setTextDocument(doc);
-    auto editor = new FormWindowEditor(this);
-    editor->setEditorWidget(this);
+    m_editor = new FormWindowEditor(this);
+    m_editor->setEditorWidget(this);
     setupAsPlainEditor();
     setReadOnly(true);
     configureMimeType(doc->mimeType());
@@ -51,7 +51,7 @@ DesignerXmlEditorWidget::DesignerXmlEditorWidget(QDesignerFormWindowInterface *f
 
 FormWindowEditor *DesignerXmlEditorWidget::designerEditor() const
 {
-    return qobject_cast<FormWindowEditor *>(editor());
+    return m_editor;
 }
 
 Internal::FormWindowFile *DesignerXmlEditorWidget::formWindowFile() const
diff --git a/src/plugins/designer/designerxmleditorwidget.h b/src/plugins/designer/designerxmleditorwidget.h
index c66872994b9..e1e2c98f877 100644
--- a/src/plugins/designer/designerxmleditorwidget.h
+++ b/src/plugins/designer/designerxmleditorwidget.h
@@ -61,6 +61,9 @@ public:
 
     FormWindowEditor *designerEditor() const;
     Internal::FormWindowFile *formWindowFile() const;
+
+private:
+    FormWindowEditor *m_editor;
 };
 
 } // Internal
diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp
index e4c2e7dfe76..47d5e2dca26 100644
--- a/src/plugins/designer/formeditorw.cpp
+++ b/src/plugins/designer/formeditorw.cpp
@@ -641,7 +641,7 @@ EditorData FormEditorW::createEditor()
             resourceHandler, SLOT(updateResources()));
     m_editorWidget->add(data);
 
-    m_toolBar->addEditor(xmlEditor->editor());
+    m_toolBar->addEditor(xmlEditor->designerEditor());
 
     return data;
 }
-- 
GitLab