Juergen Spitzmueller wrote:
> Are there some recordUndoInset calls missing? I can imagine that
> (some of) the tabular features need this too.

Answering my own question, I think that the following is needed.

Jürgen
Index: insets/insettabular.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettabular.C,v
retrieving revision 1.481
diff -p -u -r1.481 insettabular.C
--- insets/insettabular.C	18 Jul 2005 17:12:28 -0000	1.481
+++ insets/insettabular.C	28 Jul 2005 08:36:41 -0000
@@ -621,7 +621,7 @@ void InsetTabular::doDispatch(LCursor & 
 	case LFUN_CUT:
 		if (tablemode(cur)) {
 			if (copySelection(cur)) {
-				recordUndo(cur, Undo::DELETE);
+				recordUndoInset(cur, Undo::DELETE);
 				cutSelection(cur);
 			}
 		}
@@ -632,8 +632,10 @@ void InsetTabular::doDispatch(LCursor & 
 	case LFUN_BACKSPACE:
 	case LFUN_DELETE:
 		recordUndo(cur, Undo::DELETE);
-		if (tablemode(cur))
+		if (tablemode(cur)) {
+			recordUndoInset(cur, Undo::DELETE);
 			cutSelection(cur);
+		}
 		else
 			cell(cur.idx())->dispatch(cur, cmd);
 		break;
@@ -720,7 +722,7 @@ void InsetTabular::doDispatch(LCursor & 
 
 	case LFUN_PASTE:
 		if (hasPasteBuffer()) {
-			recordUndo(cur, Undo::INSERT);
+			recordUndoInset(cur, Undo::INSERT);
 			pasteSelection(cur);
 			break;
 		}
@@ -1380,7 +1382,7 @@ void InsetTabular::tabularFeatures(LCurs
 		break;
 	}
 
-	recordUndo(cur, Undo::ATOMIC);
+	recordUndoInset(cur, Undo::ATOMIC);
 
 	getSelection(cur, sel_row_start, sel_row_end, sel_col_start, sel_col_end);
 	row_type const row = tabular.row_of_cell(cur.idx());

Reply via email to