diff --git a/src/control/xojfile/SaveHandler.cpp b/src/control/xojfile/SaveHandler.cpp index 8044f300..e9a9cbf2 100644 --- a/src/control/xojfile/SaveHandler.cpp +++ b/src/control/xojfile/SaveHandler.cpp @@ -218,8 +218,10 @@ void SaveHandler::visitPage(XmlNode* root, PageRef p, Document* doc, int id) { if (doc->isAttachPdf()) { background->setAttrib("domain", "attach"); - Path filename = Path(doc->getFilename().str() + ".bg.pdf"); - background->setAttrib("filename", filename.str()); + Path filename = doc->getFilename(); + filename.clearExtensions(); + filename += ".xopp.bg.pdf"; + background->setAttrib("filename", "bg.pdf"); GError* error = nullptr; doc->getPdfDocument().save(filename, &error); diff --git a/src/model/Document.cpp b/src/model/Document.cpp index 162d825f..a61ba709 100644 --- a/src/model/Document.cpp +++ b/src/model/Document.cpp @@ -127,7 +127,8 @@ auto Document::createSaveFilename(DocumentType type, const string& defaultSaveNa } if (!pdfFilename.isEmpty()) { Path p = pdfFilename.getFilename(); - p.clearExtensions(); + std::string ext = this->attachPdf ? ".pdf" : ""; + p.clearExtensions(ext); return p; }