From: Juergen Spitzmueller Date: Sun, 11 Feb 2018 08:50:38 +0000 (+0100) Subject: Disable BUFFER_EXPORT and BUFFER_EXPORT_AS while buffer is processed X-Git-Tag: lyx-2.4.0dev-acb2ca7b~3890 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=1437ae3f9cf78ffd5c639cb4e70a0b1fba9f600e;p=features.git Disable BUFFER_EXPORT and BUFFER_EXPORT_AS while buffer is processed I am rather irritated we didn't do this already, since synchronous runs with BUFFER_VIEW or BUFFER_UPDATE leads to all sorts of problems, including crashes. Fixes the crash in #8338 (but not the bug itself). --- diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index 6f5441ceee..cc5a3df44b 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -1913,8 +1913,22 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag) enable = doc_buffer && doc_buffer->notifiesExternalModification(); break; - case LFUN_BUFFER_WRITE_AS: + case LFUN_BUFFER_EXPORT: { + if (!doc_buffer || d.processing_thread_watcher_.isRunning()) { + enable = false; + break; + } + return doc_buffer->getStatus(cmd, flag); + break; + } + case LFUN_BUFFER_EXPORT_AS: + if (!doc_buffer || d.processing_thread_watcher_.isRunning()) { + enable = false; + break; + } + // fall through + case LFUN_BUFFER_WRITE_AS: enable = doc_buffer != 0; break;