mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-13 17:20:55 +00:00
* 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:
parent
adeb87826f
commit
0ce5f5cedf
@ -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>
|
2006-09-20 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||||
|
|
||||||
* insettabular.C (cutSelection): reset cursor when it is invalid.
|
* insettabular.C (cutSelection): reset cursor when it is invalid.
|
||||||
|
@ -728,27 +728,22 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
|
|||||||
row_type rs, re;
|
row_type rs, re;
|
||||||
col_type cs, ce;
|
col_type cs, ce;
|
||||||
getSelection(cur, rs, re, cs, ce);
|
getSelection(cur, rs, re, cs, ce);
|
||||||
|
LCursor tmpcur = cur;
|
||||||
for (row_type i = rs; i <= re; ++i) {
|
for (row_type i = rs; i <= re; ++i) {
|
||||||
for (col_type j = cs; j <= ce; ++j) {
|
for (col_type j = cs; j <= ce; ++j) {
|
||||||
// cursor follows cell:
|
// cursor follows cell:
|
||||||
cur.idx() = tabular.getCellNumber(i, j);
|
tmpcur.idx() = tabular.getCellNumber(i, j);
|
||||||
// select this cell only:
|
// select this cell only:
|
||||||
cur.pos() = 0;
|
tmpcur.pit() = 0;
|
||||||
cur.resetAnchor();
|
tmpcur.pos() = 0;
|
||||||
cur.pos() = cur.top().lastpos();
|
tmpcur.resetAnchor();
|
||||||
cur.setCursor(cur);
|
tmpcur.pit() = tmpcur.lastpit();
|
||||||
cur.setSelection();
|
tmpcur.pos() = tmpcur.top().lastpos();
|
||||||
cell(cur.idx())->dispatch(cur, cmd);
|
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;
|
break;
|
||||||
} else {
|
} else {
|
||||||
cell(cur.idx())->dispatch(cur, cmd);
|
cell(cur.idx())->dispatch(cur, cmd);
|
||||||
|
@ -83,6 +83,10 @@ What's new
|
|||||||
|
|
||||||
- Fix a crash when selecting several cells in a tabular (bug 2630).
|
- 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 searching for an inset and none is present.
|
||||||
|
|
||||||
- Fix a crash when scrolling the document and the cursor is inside an
|
- 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 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 undoing super/subscript deletion (bug 2727).
|
||||||
|
|
||||||
- Fix a crash when the cursor is in an empty script and the user
|
- Fix a crash when the cursor is in an empty script and the user
|
||||||
|
Loading…
Reference in New Issue
Block a user