diff options
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/vcsbase/basevcseditorfactory.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/vcsbase/basevcseditorfactory.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp index 2026d4a535..700f0162d0 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.cpp +++ b/src/plugins/vcsbase/basevcseditorfactory.cpp @@ -54,7 +54,8 @@ using namespace TextEditor; namespace VcsBase { VcsEditorFactory::VcsEditorFactory(const VcsBaseEditorParameters *parameters, - const EditorWidgetCreator &editorWidgetCreator, + // Force copy, see QTCREATORBUG-13218 + const EditorWidgetCreator editorWidgetCreator, QObject *describeReceiver, const char *describeSlot) { setProperty("VcsEditorFactoryName", QByteArray(parameters->id)); @@ -66,14 +67,14 @@ VcsEditorFactory::VcsEditorFactory(const VcsBaseEditorParameters *parameters, setEditorActionHandlers(TextEditorActionHandler::None); setDuplicatedSupported(false); - setDocumentCreator([=]() -> TextDocument* { + setDocumentCreator([this, parameters]() -> TextDocument* { auto document = new TextDocument(parameters->id); // if (QLatin1String(parameters->mimeType) != QLatin1String(DiffEditor::Constants::DIFF_EDITOR_MIMETYPE)) document->setMimeType(QLatin1String(parameters->mimeType)); return document; }); - setEditorWidgetCreator([=]() -> TextEditorWidget* { + setEditorWidgetCreator([this, parameters, editorWidgetCreator, describeReceiver, describeSlot]() -> TextEditorWidget* { auto widget = qobject_cast<VcsBaseEditorWidget *>(editorWidgetCreator()); widget->setDescribeSlot(describeReceiver, describeSlot); widget->setParameters(parameters); diff --git a/src/plugins/vcsbase/basevcseditorfactory.h b/src/plugins/vcsbase/basevcseditorfactory.h index 9ca286ce87..ba7fdecf0f 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.h +++ b/src/plugins/vcsbase/basevcseditorfactory.h @@ -44,7 +44,7 @@ class VCSBASE_EXPORT VcsEditorFactory : public TextEditor::TextEditorFactory public: VcsEditorFactory(const VcsBaseEditorParameters *parameters, - const EditorWidgetCreator &editorWidgetCreator, + const EditorWidgetCreator editorWidgetCreator, QObject *describeReceiver, const char *describeSlot); |
