diff --git a/kate/katedocmanager.cpp b/kate/katedocmanager.cpp --- a/kate/katedocmanager.cpp +++ b/kate/katedocmanager.cpp @@ -173,7 +173,15 @@ } if (!doc) { - doc = createDoc(docInfo); + if (untitledDoc) { + // reuse the untitled document which is not needed + auto & info = m_docInfos.find(untitledDoc).value(); + delete info; + info = new KateDocumentInfo(docInfo); + doc = untitledDoc; + } else { + doc = createDoc(docInfo); + } if (!encoding.isEmpty()) { doc->setEncoding(encoding); @@ -197,13 +205,6 @@ } } - // - // close untitled document, as it is not wanted - // - if (untitledDoc) { - closeDocument(untitledDoc); - } - return doc; }