commit 3a4c4605e9cc06f700cdfeb43f3a91592adea99a
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Fri Jan 4 16:24:18 2019 +0100

    Fix drawing of labels in insets
    
    In many cases, the origin xo_ of insets was forgotten.
    
    Also fix spacing between text and label in rtl
    
    Fixes bug #11425.
    
    (cherry picked from commit 5c1d65afee3a37d5befcf9eb55d8d50e1d8e4f13)
    (cherry picked from commit 5fc035f99c42835da41d6eb6cf5a375382c06870)
---
 src/RowPainter.cpp |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index c6578ce..93ac63d 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -402,7 +402,7 @@ void RowPainter::paintLabel() const
        double x = x_;
 
        if (row_.isRTL())
-               x = tm_.width() - row_.right_margin + fm.width(layout.labelsep);
+               x = xo_ + row_.width() + fm.width(layout.labelsep);
        else
                x = x_ - fm.width(layout.labelsep) - fm.width(str);
 
@@ -437,10 +437,10 @@ void RowPainter::paintTopLevelLabel() const
 
        double x = x_;
        if (layout.labeltype == LABEL_CENTERED) {
-               x = row_.left_margin + (tm_.width() - row_.left_margin - 
row_.right_margin) / 2;
+               x += (tm_.width() - row_.left_margin - row_.right_margin) / 2;
                x -= fm.width(str) / 2;
        } else if (row_.isRTL()) {
-               x = tm_.width() - row_.right_margin - fm.width(str);
+               x = xo_ + tm_.width() - row_.right_margin - fm.width(str);
        }
        pi_.pain.text(int(x), yo_ - maxdesc - labeladdon, str, font);
 }
@@ -525,9 +525,9 @@ void RowPainter::paintLast() const
                }
 
                if (endlabel == END_LABEL_BOX)
-                       pi_.pain.rectangle(x, y, size, size, Color_eolmarker);
+                       pi_.pain.rectangle(xo_ + x, y, size, size, 
Color_eolmarker);
                else
-                       pi_.pain.fillRectangle(x, y, size, size, 
Color_eolmarker);
+                       pi_.pain.fillRectangle(xo_ + x, y, size, size, 
Color_eolmarker);
                break;
        }
 

Reply via email to