* insettabular.C (doDispatch): do not modify cursor when iterating

over the cells to apply LFUN_EMPH and friends.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_4_X@15100 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2006-09-21 10:42:09 +00:00
parent adeb87826f
commit 0ce5f5cedf
3 changed files with 19 additions and 17 deletions

View File

@ -1,3 +1,8 @@
2006-09-21 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* insettabular.C (doDispatch): do not modify cursor when iterating
over the cells to apply LFUN_EMPH and friends.
2006-09-20 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* insettabular.C (cutSelection): reset cursor when it is invalid.

View File

@ -728,27 +728,22 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
row_type rs, re;
col_type cs, ce;
getSelection(cur, rs, re, cs, ce);
LCursor tmpcur = cur;
for (row_type i = rs; i <= re; ++i) {
for (col_type j = cs; j <= ce; ++j) {
// cursor follows cell:
cur.idx() = tabular.getCellNumber(i, j);
tmpcur.idx() = tabular.getCellNumber(i, j);
// select this cell only:
cur.pos() = 0;
cur.resetAnchor();
cur.pos() = cur.top().lastpos();
cur.setCursor(cur);
cur.setSelection();
cell(cur.idx())->dispatch(cur, cmd);
tmpcur.pit() = 0;
tmpcur.pos() = 0;
tmpcur.resetAnchor();
tmpcur.pit() = tmpcur.lastpit();
tmpcur.pos() = tmpcur.top().lastpos();
tmpcur.setCursor(tmpcur);
tmpcur.setSelection();
cell(tmpcur.idx())->dispatch(tmpcur, cmd);
}
}
// Restore original selection
cur.idx() = tabular.getCellNumber(rs, cs);
cur.pos() = 0;
cur.resetAnchor();
cur.idx() = tabular.getCellNumber(re, ce);
cur.pos() = cur.top().lastpos();
cur.setCursor(cur);
cur.setSelection();
break;
} else {
cell(cur.idx())->dispatch(cur, cmd);

View File

@ -83,6 +83,10 @@ What's new
- Fix a crash when selecting several cells in a tabular (bug 2630).
- Fix a crash when deleting a multi-cell selection in a tabular.
- Fix a crash when applying a font change to several cells in a tabular.
- Fix a crash when searching for an inset and none is present.
- Fix a crash when scrolling the document and the cursor is inside an
@ -92,8 +96,6 @@ What's new
- Fix a crash with change tracking in tables (bug 2600).
- Fix a crash when deleting a multi-cell selection in a tabular.
- Fix a crash when undoing super/subscript deletion (bug 2727).
- Fix a crash when the cursor is in an empty script and the user