From 5686ad11f39121113e4f039932f357047ca2713f Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Mon, 16 Sep 2013 10:13:16 +0200 Subject: [PATCH] Fix loop when trying to export a read-only document --- src/frontends/qt4/GuiView.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; } -- 2.39.2