mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 19:07:45 +00:00
Fix bug #11737.
We need to use the FileName methods when moving or removing a file,
so that refresh() gets called.
No status entry since this will be in 2.3.4.3.
(cherry picked from commit d930913898
)
This commit is contained in:
parent
1b0e8b36da
commit
0be206c976
@ -251,6 +251,7 @@ bool FileName::renameTo(FileName const & name) const
|
||||
{
|
||||
LYXERR(Debug::FILES, "Renaming " << name << " as " << *this);
|
||||
bool success = QFile::rename(d->fi.absoluteFilePath(), name.d->fi.absoluteFilePath());
|
||||
d->refresh();
|
||||
if (!success)
|
||||
LYXERR0("Could not rename file " << *this << " to " << name);
|
||||
return success;
|
||||
@ -264,12 +265,13 @@ bool FileName::moveTo(FileName const & name) const
|
||||
// there's a locking problem on Windows sometimes, so
|
||||
// we will keep trying for five seconds, in the hope
|
||||
// that clears.
|
||||
name.refresh();
|
||||
if (name.exists()) {
|
||||
bool removed = QFile::remove(name.d->fi.absoluteFilePath());
|
||||
bool removed = name.removeFile();
|
||||
int tries = 1;
|
||||
while (!removed && tries < 6) {
|
||||
QThread::sleep(1);
|
||||
removed = QFile::remove(name.d->fi.absoluteFilePath());
|
||||
removed = name.removeFile();
|
||||
tries++;
|
||||
}
|
||||
}
|
||||
@ -277,8 +279,7 @@ bool FileName::moveTo(FileName const & name) const
|
||||
QFile::remove(name.d->fi.absoluteFilePath());
|
||||
#endif
|
||||
|
||||
bool const success = QFile::rename(d->fi.absoluteFilePath(),
|
||||
name.d->fi.absoluteFilePath());
|
||||
bool const success = renameTo(name);
|
||||
if (!success)
|
||||
LYXERR0("Could not move file " << *this << " to " << name);
|
||||
return success;
|
||||
|
Loading…
Reference in New Issue
Block a user