commit 15dae1244bdc373a76571359f6cb9a7d0edb1104
Author: Juergen Spitzmueller <sp...@lyx.org>
Date:   Mon Apr 1 05:43:32 2019 +0200

    Fix booktabs bottom line with multirows
    
    Fixes: #11445
    (cherry picked from commit 819c9c164579bb11322238258ca71f5aa2621705)
---
 src/insets/InsetTabular.cpp |   14 +++++++++++---
 status.23x                  |    2 ++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 0e1c849..f9a78e1 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -4009,6 +4009,8 @@ void InsetTabular::drawCellLines(PainterInfo & pi, int x, 
int y,
        int const w = tabular.cellWidth(cell);
        int const h = tabular.cellHeight(cell);
 
+       col_type const col = tabular.cellColumn(cell);
+
        // Top
        bool drawline = tabular.topLine(cell)
                || (row > 0 && tabular.bottomLine(tabular.cellAbove(cell)));
@@ -4017,12 +4019,18 @@ void InsetTabular::drawCellLines(PainterInfo & pi, int 
x, int y,
 
        // Bottom
        drawline = tabular.bottomLine(cell);
-       heavy = tabular.use_booktabs && row == tabular.nrows() - 1
-               && tabular.rowBottomLine(row);
+       row_type const lastrow = tabular.nrows() - 1;
+       // Consider multi-rows
+       row_type r = row;
+       while (r < lastrow && tabular.isMultiRow(tabular.cellIndex(r, col))
+               && tabular.isPartOfMultiRow(r + 1, col))
+               r++;
+       heavy = tabular.use_booktabs
+               && ((row == lastrow && tabular.rowBottomLine(row))
+                   || (r == lastrow && tabular.rowBottomLine(r)));
        tabline(pi, x, y + h, x + w, y + h, drawline, heavy);
 
        // Left
-       col_type const col = tabular.cellColumn(cell);
        drawline = tabular.leftLine(cell)
                || (col > 0 && tabular.rightLine(tabular.cellIndex(row, col - 
1)));
        tabline(pi, x, y, x, y + h, drawline);
diff --git a/status.23x b/status.23x
index bfd25c1..edfeea5 100644
--- a/status.23x
+++ b/status.23x
@@ -176,6 +176,8 @@ What's new
 
 - Place the indentation bars correctly in full-screen mode (bug 11286).
 
+- Fix display of formal table bottom line with multirows (bug 11445).
+
 
 * INTERNALS
 

Reply via email to