From: Pavel Sanda Date: Sun, 4 Nov 2012 15:50:56 +0000 (+0100) Subject: Autosaving is now always threaded. X-Git-Tag: 2.1.0beta1~1299 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=d7ed0ba7e484da744e278685794d4ed316a5f601;p=lyx.git Autosaving is now always threaded. --- diff --git a/src/Buffer.cpp b/src/Buffer.cpp index c5de4c8169..313b937940 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -3625,26 +3625,19 @@ bool Buffer::autoSave() const buf->d->bak_clean = true; FileName const fname = getAutosaveFileName(); - if (d->cloned_buffer_) { - // If this buffer is cloned, we assume that - // we are running in a separate thread already. - FileName const tmp_ret = FileName::tempName("lyxauto"); - if (!tmp_ret.empty()) { - writeFile(tmp_ret); - // assume successful write of tmp_ret - if (tmp_ret.moveTo(fname)) - return true; - } - // failed to write/rename tmp_ret so try writing direct - return writeFile(fname); - } else { - /// This function is deprecated as the frontend needs to take care - /// of cloning the buffer and autosaving it in another thread. It - /// is still here to allow (QT_VERSION < 0x040400). - AutoSaveBuffer autosave(*this, fname); - autosave.start(); - return true; + LASSERT(d->cloned_buffer_, return false); + + // If this buffer is cloned, we assume that + // we are running in a separate thread already. + FileName const tmp_ret = FileName::tempName("lyxauto"); + if (!tmp_ret.empty()) { + writeFile(tmp_ret); + // assume successful write of tmp_ret + if (tmp_ret.moveTo(fname)) + return true; } + // failed to write/rename tmp_ret so try writing direct + return writeFile(fname); } diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index 0675680734..871a2d282d 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -1545,14 +1545,10 @@ void GuiView::autoSave() return; } -#if (QT_VERSION >= 0x040400) GuiViewPrivate::busyBuffers.insert(buffer); QFuture f = QtConcurrent::run(GuiViewPrivate::autosaveAndDestroy, buffer, buffer->cloneBufferOnly()); d.autosave_watcher_.setFuture(f); -#else - buffer->autoSave(); -#endif resetAutosaveTimers(); }