Avoid swapping a cell with itself

Gcc STL debugging feature asserts when swapping an object with itself. This happens in some cases with math grids that have only one column.

A quick review of other uses of swap() in the code base did not reveal any other dubious case.

Fixes bug #9902.
This commit is contained in:
Jean-Marc Lasgouttes 2015-12-23 11:05:28 +01:00
parent 1f8fd79c41
commit b01f7a6bdd
2 changed files with 4 additions and 1 deletions

View File

@ -1194,7 +1194,8 @@ void InsetMathGrid::doDispatch(Cursor & cur, FuncRequest & cmd)
// split cell
splitCell(cur);
swap(cell(cur.idx()), cell(cur.idx() + ncols() - 1));
if (ncols() > 1)
swap(cell(cur.idx()), cell(cur.idx() + ncols() - 1));
if (cur.idx() > 0)
--cur.idx();
cur.pos() = cur.lastpos();

View File

@ -83,6 +83,8 @@ What's new
- Fix crash when unfolding/copying macros containing other macros (bug 9490).
- Fix crash when inserting a line in multline math environment (bug 9902).
- Fix automatic insertion of longtable captions (bug 9692).
- Fix setting of nested minipage via the dialog (bug 8716).