commit 69f0efd7973b3183bca3dc77646a182187138c21
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Mon Sep 5 11:29:44 2016 +0200

    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.
    
    (cherry-picked from a27ff136)
---
 src/mathed/InsetMathGrid.cpp |   15 +++++++++------
 status.22x                   |    1 +
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp
index a236a93..291e11d 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);
                                }
                        }
diff --git a/status.22x b/status.22x
index 340635f..d62cd43 100644
--- a/status.22x
+++ b/status.22x
@@ -120,6 +120,7 @@ What's new
 
 - Remove duplicate context menu item for Argument insets (bug 10368).
 
+- Fix display of vertical lines inside math matrices (bug 10363).
 
 * INTERNALS
 

Reply via email to