From: Juergen Spitzmueller Date: Mon, 16 Sep 2013 08:13:16 +0000 (+0200) Subject: Fix loop when trying to export a read-only document X-Git-Tag: 2.1.0beta2~69 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=5686ad11f39121113e4f039932f357047ca2713f;p=features.git Fix loop when trying to export a read-only document --- diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index c9f68f51c2..a5438b930e 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -3307,12 +3307,16 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr) case LFUN_BUFFER_EXPORT: { if (!doc_buffer) break; + FileName target_dir = doc_buffer->fileName().onlyPath(); + string const dest = cmd.getArg(1); + if (!dest.empty() && FileName::isAbsolute(dest)) + target_dir = FileName(support::onlyPath(dest)); // GCC only sees strfwd.h when building merged if (::lyx::operator==(cmd.argument(), "custom")) { dispatch(FuncRequest(LFUN_DIALOG_SHOW, "sendto"), dr); break; } - if (!doc_buffer->fileName().onlyPath().isDirWritable()) { + if (!target_dir.isDirWritable()) { exportBufferAs(*doc_buffer); break; }