commit b6d182b81a882aadec6f27e17a60ebf7a3305b4a
Author: Richard Heck <[email protected]>
Date: Sat Jun 25 03:04:59 2016 +0100
Fix bug #8814: Ask for place to export a file if it has not
yet been saved.
---
src/frontends/qt4/GuiView.cpp | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp
index 87ee553..445678f 100644
--- a/src/frontends/qt4/GuiView.cpp
+++ b/src/frontends/qt4/GuiView.cpp
@@ -3528,16 +3528,20 @@ 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 (!target_dir.isDirWritable()) {
+
+ string const dest = cmd.getArg(1);
+ FileName target_dir;
+ if (!dest.empty() && FileName::isAbsolute(dest))
+ target_dir = FileName(support::onlyPath(dest));
+ else
+ target_dir = doc_buffer->fileName().onlyPath();
+
+ if (doc_buffer->isUnnamed() ||
!target_dir.isDirWritable()) {
exportBufferAs(*doc_buffer, cmd.argument());
break;
}