mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
Fix bug #10091.
See the discussion. The decision was just to keep re-trying for a
bit, since the lock preventing us from removing the old file seems
to clear after a bit.
(cherry picked from commit d96a9aa37f
)
This commit is contained in:
parent
53597584e6
commit
ad4215e462
@ -30,6 +30,10 @@
|
||||
#include <QTemporaryFile>
|
||||
#include <QTime>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <QThread>
|
||||
#endif
|
||||
|
||||
#include <boost/crc.hpp>
|
||||
|
||||
#include <algorithm>
|
||||
@ -256,9 +260,22 @@ bool FileName::renameTo(FileName const & name) const
|
||||
bool FileName::moveTo(FileName const & name) const
|
||||
{
|
||||
LYXERR(Debug::FILES, "Moving " << *this << " to " << name);
|
||||
#ifdef _WIN32
|
||||
// there's a locking problem on Windows sometimes, so
|
||||
// we will keep trying for five seconds, in the hope
|
||||
// that clears.
|
||||
bool removed = QFile::remove(name.d->fi.absoluteFilePath());
|
||||
int tries = 1;
|
||||
while (!removed && tries < 6) {
|
||||
QThread::sleep(1);
|
||||
removed = QFile::remove(name.d->fi.absoluteFilePath());
|
||||
tries++;
|
||||
}
|
||||
#else
|
||||
QFile::remove(name.d->fi.absoluteFilePath());
|
||||
#endif
|
||||
|
||||
bool success = QFile::rename(d->fi.absoluteFilePath(),
|
||||
bool const success = QFile::rename(d->fi.absoluteFilePath(),
|
||||
name.d->fi.absoluteFilePath());
|
||||
if (!success)
|
||||
LYXERR0("Could not move file " << *this << " to " << name);
|
||||
|
@ -63,6 +63,8 @@ Avoid using text mode for unicode symbols representable in math mode (bug 9616).
|
||||
|
||||
- Fix nomenclature processing with LuaTeX (bug 11571).
|
||||
|
||||
- Fix problem on Windows with saving files in Dropbox folders (bug 10091).
|
||||
|
||||
|
||||
* USER INTERFACE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user