Prevent two more assertions due to non-absolute filename as a parameter of file-insert-plaintext.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29638 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2009-05-12 00:15:16 +00:00
parent d931c7d992
commit 7083f02b1d
2 changed files with 17 additions and 16 deletions

View File

@ -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

View File

@ -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()) {