mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
Fix table crash reported on Windows.
(cherry picked from commit 3e796c680a
)
This commit is contained in:
parent
342a0f5438
commit
90ab21e0e9
@ -808,6 +808,8 @@ void Tabular::deleteRow(row_type const row, bool const force)
|
|||||||
if (nrows() == 1)
|
if (nrows() == 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
LASSERT(row < nrows(), return);
|
||||||
|
|
||||||
// If we are in change tracking mode, and the row is not marked
|
// If we are in change tracking mode, and the row is not marked
|
||||||
// as inserted by the same author, we do not delete it, but mark
|
// as inserted by the same author, we do not delete it, but mark
|
||||||
// it deleted.
|
// it deleted.
|
||||||
@ -976,6 +978,8 @@ void Tabular::deleteColumn(col_type const col, bool const force)
|
|||||||
if (ncols() == 1)
|
if (ncols() == 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
LASSERT(col < ncols(), return);
|
||||||
|
|
||||||
// If we are in change tracking mode, and the column is not marked
|
// If we are in change tracking mode, and the column is not marked
|
||||||
// as inserted by the same author, we do not delete it, but mark
|
// as inserted by the same author, we do not delete it, but mark
|
||||||
// it deleted.
|
// it deleted.
|
||||||
@ -6779,8 +6783,11 @@ void InsetTabular::tabularFeatures(Cursor & cur,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (row_type r = sel_row_start; r <= sel_row_end; ++r)
|
for (row_type r = sel_row_end; r >= sel_row_start; --r) {
|
||||||
tabular.deleteRow(r);
|
tabular.deleteRow(r);
|
||||||
|
if (r == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (sel_row_start >= tabular.nrows())
|
if (sel_row_start >= tabular.nrows())
|
||||||
--sel_row_start;
|
--sel_row_start;
|
||||||
cur.idx() = tabular.cellIndex(sel_row_start, column);
|
cur.idx() = tabular.cellIndex(sel_row_start, column);
|
||||||
@ -6802,8 +6809,11 @@ void InsetTabular::tabularFeatures(Cursor & cur,
|
|||||||
tabular.leftLine(tabular.cellIndex(r, 0)));
|
tabular.leftLine(tabular.cellIndex(r, 0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (col_type c = sel_col_start; c <= sel_col_end; ++c)
|
for (col_type c = sel_col_end; c >= sel_col_start; --c) {
|
||||||
tabular.deleteColumn(c);
|
tabular.deleteColumn(c);
|
||||||
|
if (c == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (sel_col_start >= tabular.ncols())
|
if (sel_col_start >= tabular.ncols())
|
||||||
--sel_col_start;
|
--sel_col_start;
|
||||||
cur.idx() = tabular.cellIndex(row, sel_col_start);
|
cur.idx() = tabular.cellIndex(row, sel_col_start);
|
||||||
|
Loading…
Reference in New Issue
Block a user