diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index c8b97ed79d..89793b6b1f 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -1742,7 +1742,7 @@ void GuiView::insertPlaintextFile(docstring const & fname, bool asParagraph) { BufferView * bv = view(); - if (!bv) + if (!bv || !FileName::isAbsolute(to_utf8(fname))) return; // FIXME UNICODE diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp index 39ecb09d92..3b60743e04 100644 --- a/src/insets/InsetTabular.cpp +++ b/src/insets/InsetTabular.cpp @@ -3605,23 +3605,24 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd) // insert file functions case LFUN_FILE_INSERT_PLAINTEXT_PARA: - case LFUN_FILE_INSERT_PLAINTEXT: { + case LFUN_FILE_INSERT_PLAINTEXT: // FIXME UNICODE - docstring const tmpstr = cur.bv().contentsOfPlaintextFile( - FileName(to_utf8(cmd.argument()))); - if (tmpstr.empty()) - break; - cur.recordUndoInset(INSERT_UNDO); - if (insertPlaintextString(cur.bv(), tmpstr, false)) { - // content has been replaced, - // so cursor might be invalid - cur.pos() = cur.lastpos(); - cur.pit() = cur.lastpit(); - bvcur.setCursor(cur); - } else - cur.undispatched(); + if (FileName::isAbsolute(to_utf8(cmd.argument()))) { + docstring const tmpstr = cur.bv().contentsOfPlaintextFile( + FileName(to_utf8(cmd.argument()))); + if (tmpstr.empty()) + break; + cur.recordUndoInset(INSERT_UNDO); + if (insertPlaintextString(cur.bv(), tmpstr, false)) { + // content has been replaced, + // so cursor might be invalid + cur.pos() = cur.lastpos(); + cur.pit() = cur.lastpit(); + bvcur.setCursor(cur); + } else + cur.undispatched(); + } break; - } case LFUN_CUT: if (cur.selIsMultiCell()) {