From 79b5a9f03e01712613581e630e51a5143fd9f647 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 18 Apr 2023 15:59:19 +0200 Subject: [PATCH] TextEditor: Return BaseTextEditor for duplicate Because the type is always a BaseTextEditor we can return a BaseTextEditor type. C++ is allowing to change the overload return type so long it is compatible. Change-Id: Ib4c88faaa6fdfb97fd03c51a120de0fa0c2d00cd Reviewed-by: David Schulz Reviewed-by: Qt CI Bot --- .../qmldesigner/components/texteditor/texteditorview.cpp | 3 +-- src/plugins/texteditor/texteditor.cpp | 4 ++-- src/plugins/texteditor/texteditor.h | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp index fb33794ea80..1921487aa0b 100644 --- a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp +++ b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp @@ -80,8 +80,7 @@ void TextEditorView::modelAttached(Model *model) AbstractView::modelAttached(model); auto textEditor = Utils::UniqueObjectLatePtr( - static_cast( - QmlDesignerPlugin::instance()->currentDesignDocument()->textEditor()->duplicate())); + QmlDesignerPlugin::instance()->currentDesignDocument()->textEditor()->duplicate()); // Set the context of the text editor, but we add another special context to override shortcuts. Core::Context context = textEditor->context(); diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 92c27723b99..f348aa7ce61 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -8940,11 +8940,11 @@ BaseTextEditor *TextEditorFactoryPrivate::createEditorHelper(const TextDocumentP return editor; } -IEditor *BaseTextEditor::duplicate() +BaseTextEditor *BaseTextEditor::duplicate() { // Use new standard setup if that's available. if (d->m_origin) { - IEditor *dup = d->m_origin->duplicateTextEditor(this); + BaseTextEditor *dup = d->m_origin->duplicateTextEditor(this); emit editorDuplicated(dup); return dup; } diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h index dc492eca21b..98bddb84b91 100644 --- a/src/plugins/texteditor/texteditor.h +++ b/src/plugins/texteditor/texteditor.h @@ -110,7 +110,7 @@ public: // IEditor Core::IDocument *document() const override; - IEditor *duplicate() override; + BaseTextEditor *duplicate() override; QByteArray saveState() const override; void restoreState(const QByteArray &state) override;