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 4d7453ac86
commit 30cf941cb3

View File

@ -1439,7 +1439,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();