[LyX/master] Fix bug #11737.
Richard Kimberly Heck
rikiheck at lyx.org
Thu Feb 13 04:53:05 UTC 2020
commit b175f5a315a214839219965e6a07dbf472cbac92
Author: Richard Kimberly Heck <rikiheck at lyx.org>
Date: Thu Feb 13 00:03:51 2020 -0500
Fix bug #11737.
We need to use the FileName methods when moving or removing a file,
so that refresh() gets called.
(cherry picked from commit d93091389896cddcd83de83dfd4ee8a9b4e9c7f1)
---
src/support/FileName.cpp | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp
index 5579446..505b485 100644
--- a/src/support/FileName.cpp
+++ b/src/support/FileName.cpp
@@ -259,6 +259,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;
@@ -272,12 +273,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++;
}
}
@@ -285,8 +287,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;
More information about the lyx-cvs
mailing list