diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 134dc1cc2bc..573ce3774bd 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -2798,6 +2798,11 @@ bool EditorManager::skipOpeningBigTextFile(const QString &filePath) return EditorManagerPrivate::skipOpeningBigTextFile(filePath); } +void EditorManager::clearUniqueId(IDocument *document) +{ + document->setProperty(scratchBufferKey, QVariant()); +} + bool EditorManager::saveDocument(IDocument *document) { return EditorManagerPrivate::saveDocument(document); diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h index 25c89c7711b..cbefff451f8 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.h +++ b/src/plugins/coreplugin/editormanager/editormanager.h @@ -119,6 +119,7 @@ public: const QString &uniqueId = QString(), OpenEditorFlags flags = NoFlags); static bool skipOpeningBigTextFile(const QString &filePath); + static void clearUniqueId(IDocument *document); static bool openExternalEditor(const QString &fileName, Id editorId); static void addCloseEditorListener(const std::function &listener); diff --git a/src/plugins/diffeditor/diffeditordocument.cpp b/src/plugins/diffeditor/diffeditordocument.cpp index 5a4d575d9c2..33c24475a4b 100644 --- a/src/plugins/diffeditor/diffeditordocument.cpp +++ b/src/plugins/diffeditor/diffeditordocument.cpp @@ -215,6 +215,7 @@ bool DiffEditorDocument::save(QString *errorString, const QString &fileName, boo setController(0); setDescription(QString()); + Core::EditorManager::clearUniqueId(this); const QFileInfo fi(fileName); setTemporary(false);