]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathGrid.cpp
... and RELEASE-NOTES
[lyx.git] / src / mathed / InsetMathGrid.cpp
index 4e9de1de1034f8d01524220e2624da7b03de737d..018c96f8e2ac7778a87d6cdccd0a8887b2495bea 100644 (file)
@@ -622,11 +622,13 @@ void InsetMathGrid::drawWithMargin(PainterInfo & pi, int x, int y,
                                                - rowinfo_[r].ascent_
                                                - i * hlinesep()
                                                - hlinesep()/2 - rowsep()/2;
-                                       pi.pain.line(
-                                               x + lmargin + colinfo_[c].offset_,
-                                               yy,
-                                               x + lmargin + colinfo_[c+1].offset_,
-                                               yy, Color_foreground);
+                                       int const xx1 = x + lmargin + colinfo_[c].offset_;
+                                       int const xx2 = (c + 1 == ncols()) ?
+                                               // last column
+                                               xx1 + colinfo_[c].width_ :
+                                               // first columns
+                                               x + lmargin + colinfo_[c+1].offset_;
+                                       pi.pain.line(xx1, yy, xx2, yy, Color_foreground);
                                }
                        }
                        if (c > 0 && c < ncols()) {
@@ -636,10 +638,13 @@ void InsetMathGrid::drawWithMargin(PainterInfo & pi, int x, int y,
                                                - i * vlinesep()
                                                - vlinesep()/2 - colsep()/2;
                                        int top_offset;
-                                       if (r > 0)
+                                       // prevRowHasLine needs to be changed if multicolumn lines are supported
+                                       bool const prevRowHasLine(r > 0);
+                                       if (prevRowHasLine)
+                                               // start from offset of previous row to create a continous line
                                                top_offset = rowinfo_[r - 1].offset_ + rowinfo_[r - 1].descent_;
                                        else
-                                               top_offset = rowinfo_[0].offset_- rowinfo_[0].ascent_;
+                                               top_offset = rowinfo_[r].offset_- rowinfo_[r].ascent_;
                                        pi.pain.line(xx, y + top_offset,
                                                xx, y + rowinfo_[r].offset_ + rowinfo_[r].descent_,
                                                Color_foreground);