From c9614cb5f7912abfbd3d5791764662ea970b18cc Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 10 Aug 2015 14:15:01 +0200 Subject: [PATCH] Avoid trying to create autosave files in read-only directories Task-number: QTCREATORBUG-10958 Change-Id: I9cb4289f35f194bcbb5e242f064c67264bcf8676 Reviewed-by: Oswald Buddenhagen Reviewed-by: David Schulz --- src/plugins/coreplugin/editormanager/editormanager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index ed58364530f..8cdc6a12339 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1774,10 +1774,13 @@ void EditorManagerPrivate::autoSave() foreach (IDocument *document, DocumentModel::openedDocuments()) { if (!document->isModified() || !document->shouldAutoSave()) continue; - if (document->filePath().isEmpty()) // FIXME: save them to a dedicated directory + const QString saveName = autoSaveName(document->filePath().toString()); + const QString savePath = QFileInfo(saveName).absolutePath(); + if (document->filePath().isEmpty() + || !QFileInfo(savePath).isWritable()) // FIXME: save them to a dedicated directory continue; QString errorString; - if (!document->autoSave(&errorString, autoSaveName(document->filePath().toString()))) + if (!document->autoSave(&errorString, saveName)) errors << errorString; } if (!errors.isEmpty())