From 645f5e83fb721e981b78b09b1236cae5eef98670 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Spitzm=C3=BCller?= Date: Mon, 22 May 2006 10:19:27 +0000 Subject: [PATCH] * insettabular.C (doDispatch): fix crash due to invalidated cursor after insertAciiString (bug 2603). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13905 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/insets/insettabular.C | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/insets/insettabular.C b/src/insets/insettabular.C index 8f7962c56d..8e597896ff 100644 --- a/src/insets/insettabular.C +++ b/src/insets/insettabular.C @@ -668,9 +668,17 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd) string const clip = cur.bv().getClipboard(); if (clip.empty()) break; - if (insertAsciiString(cur.bv(), clip, false)) - break; - else { + // pass to InsertAsciiString, but + // only if we have multi-cell content + if (clip.find_first_of("\t\n") != string::npos) { + if (insertAsciiString(cur.bv(), clip, false)) { + // content has been replaced, + // so cursor might be invalid + cur.pos() = cur.lastpos(); + bvcur.setCursor(cur); + break; + } + } else { // so that the clipboard is used and it goes on // to default // and executes LFUN_PRIMARY_SELECTION_PASTE in insettext! -- 2.39.2