]> git.lyx.org Git - features.git/commitdiff
Consider single-cell insets when pasting multiple cells (#11906)
authorJuergen Spitzmueller <spitz@lyx.org>
Tue, 14 Jul 2020 08:39:49 +0000 (10:39 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Tue, 14 Jul 2020 08:39:49 +0000 (10:39 +0200)
src/mathed/InsetMathGrid.cpp

index 9c0dca300bfff57e1133a026a8758a5e73f89625..0a637ec715c26ae8f32d5bf4ab5f718de9d02385 100644 (file)
@@ -1649,7 +1649,7 @@ void InsetMathGrid::doDispatch(Cursor & cur, FuncRequest & cmd)
                                // append columns for the left over horizontal cells
                                for (InsetMath::col_type c = numcols; c < grid.ncols(); ++c) {
                                        addCol(c + startcol);
-                                       idx_type i = index(r + startrow, c + startcol);
+                                       idx_type i = index(r + startrow, min(c + startcol, ncols() - 1));
                                        cell(i).append(grid.cell(grid.index(r, c)));
                                        ++numcols;
                                }
@@ -1662,7 +1662,7 @@ void InsetMathGrid::doDispatch(Cursor & cur, FuncRequest & cmd)
                                row_type crow = startrow + r;
                                addRow(crow - 1);
                                for (col_type c = 0; c < grid.ncols(); ++c)
-                                       cell(index(crow, c + startcol)).append(grid.cell(grid.index(r, c)));
+                                       cell(index(min(crow, nrows() - 1), min(c + startcol, ncols() - 1))).append(grid.cell(grid.index(r, c)));
                                if (hline_enabled)
                                        rowinfo_[crow].lines += grid.rowinfo_[r].lines;
                                else {