From a27ff136630625309682614743e61502b7199136 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Mon, 5 Sep 2016 11:29:44 +0200 Subject: [PATCH] Set vertical lines in math arrays correctly on Y axis This is a fixup to commit 39329935. The two fixes are * add forgotten offset `y' when drawing the line * in order to have a continuous vertical line, draw from the offset of the previous row. Fixes bug #10363. --- src/mathed/InsetMathGrid.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp index 9e41c9783a..4e9de1de10 100644 --- a/src/mathed/InsetMathGrid.cpp +++ b/src/mathed/InsetMathGrid.cpp @@ -618,7 +618,7 @@ void InsetMathGrid::drawWithMargin(PainterInfo & pi, int x, int y, col_type const c = col(idx); if (r > 0 && r < nrows()) { for (unsigned int i = 0; i < rowinfo_[r].lines_; ++i) { - int yy = y + rowinfo_[r].offset_ + int const yy = y + rowinfo_[r].offset_ - rowinfo_[r].ascent_ - i * hlinesep() - hlinesep()/2 - rowsep()/2; @@ -631,14 +631,17 @@ void InsetMathGrid::drawWithMargin(PainterInfo & pi, int x, int y, } if (c > 0 && c < ncols()) { for (unsigned int i = 0; i < colinfo_[c].lines_; ++i) { - int xx = x + lmargin + int const xx = x + lmargin + colinfo_[c].offset_ - i * vlinesep() - vlinesep()/2 - colsep()/2; - pi.pain.line(xx, - rowinfo_[r].offset_ - rowinfo_[r].ascent_, - xx, - rowinfo_[r].offset_ + rowinfo_[r].descent_, + int top_offset; + if (r > 0) + top_offset = rowinfo_[r - 1].offset_ + rowinfo_[r - 1].descent_; + else + top_offset = rowinfo_[0].offset_- rowinfo_[0].ascent_; + pi.pain.line(xx, y + top_offset, + xx, y + rowinfo_[r].offset_ + rowinfo_[r].descent_, Color_foreground); } } -- 2.39.2