forked from qt-creator/qt-creator
filemanager: fix regression when trying to save read-only file
When saving a read-only file, a dialog should appear with Make Writable / Save As / Cancel should open. Avoids relying on permission error to detect read-only files as qfsfileengine_unix.cpp treats errno == EACCESS as a QFile::OpenError. Change-Id: Icdffdc4617c8ef2b58d58aeedbb2b454d0da9465 Task-Number: QTCREATORBUG-5066 Reviewed-on: http://codereview.qt.nokia.com/2442 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
This commit is contained in:
@@ -628,8 +628,7 @@ bool FileManager::saveFile(IFile *file, const QString &fileName, bool *isReadOnl
|
||||
if (isReadOnly) {
|
||||
QFile ofi(effName);
|
||||
// Check whether the existing file is writable
|
||||
if (ofi.exists() && !ofi.open(QIODevice::ReadWrite)
|
||||
&& ofi.error() == QFile::PermissionsError) {
|
||||
if (!ofi.open(QIODevice::ReadWrite) && ofi.open(QIODevice::ReadOnly)) {
|
||||
*isReadOnly = true;
|
||||
goto out;
|
||||
}
|
||||
|
Reference in New Issue
Block a user