Fix loop when trying to export a read-only document

This commit is contained in:
Juergen Spitzmueller 2013-09-16 10:13:16 +02:00
parent 56ca770e79
commit 5686ad11f3

View File

@ -3307,12 +3307,16 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
case LFUN_BUFFER_EXPORT: { case LFUN_BUFFER_EXPORT: {
if (!doc_buffer) if (!doc_buffer)
break; 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 // GCC only sees strfwd.h when building merged
if (::lyx::operator==(cmd.argument(), "custom")) { if (::lyx::operator==(cmd.argument(), "custom")) {
dispatch(FuncRequest(LFUN_DIALOG_SHOW, "sendto"), dr); dispatch(FuncRequest(LFUN_DIALOG_SHOW, "sendto"), dr);
break; break;
} }
if (!doc_buffer->fileName().onlyPath().isDirWritable()) { if (!target_dir.isDirWritable()) {
exportBufferAs(*doc_buffer); exportBufferAs(*doc_buffer);
break; break;
} }