QFile::copy: remove the fallback to copying through QDir::tempPath()
This would never work: if we failed to create the temporary file in the target directory, then a later QTemporaryFile::rename() to that name is even less likely to work. If we didn't have write permissions, we're not likely to get them; if the disk was so full that we couldn't create a file, the copying of the data is going to fail too; if the FS is out of inodes, it wouldn't be able to create the file anywhere either. The only case where the creation elsewhere would work is if it were a different FS, but then QTemporaryFile::rename() won't succeed. Change-Id: I1ba6b9f7050f81163d14fffd79ff4e7460201e86 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
This commit is contained in:
parent
d169447627
commit
fb5b9fd6f3
@ -824,11 +824,8 @@ QFile::copy(const QString &newName)
|
||||
error = true;
|
||||
#else
|
||||
QTemporaryFile out(fileTemplate.arg(QFileInfo(newName).path()));
|
||||
if (!out.open()) {
|
||||
out.setFileTemplate(fileTemplate.arg(QDir::tempPath()));
|
||||
if (!out.open())
|
||||
error = true;
|
||||
}
|
||||
if (!out.open())
|
||||
error = true;
|
||||
#endif
|
||||
if (error) {
|
||||
d->setError(QFile::CopyError, tr("Cannot open for output: %1").arg(out.errorString()));
|
||||
|
Loading…
x
Reference in New Issue
Block a user