]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.cpp
* There are cases where updateLabels is not called because no
[lyx.git] / src / rowpainter.cpp
index 78c17a8adba635c085af309388bb56f85ab9e374..60e6ab22a21ea8084c6d81c55fd8942bcf765574 100644 (file)
@@ -610,12 +610,14 @@ void RowPainter::paintLast()
                FontMetrics const & fm = theFontMetrics(font);
                int const size = int(0.75 * fm.maxAscent());
                int const y = yo_ - size;
-               int x = is_rtl ? nestMargin() + changebarMargin() : width_
-                       - text_metrics_.rightMargin(pm_) - size - Inset::TEXT_TO_INSET_OFFSET;
+               int const max_row_width = width_ - size - Inset::TEXT_TO_INSET_OFFSET;
+               int x = is_rtl ? nestMargin() + changebarMargin()
+                       : max_row_width - text_metrics_.rightMargin(pm_);
 
-               int const rem = width_ - row_.width() - size;
+               // If needed, move the box a bit to avoid overlapping with text.
+               int const rem = max_row_width - row_.width();
                if (rem <= 0)
-                       x += rem * (is_rtl ? 1 : -1);
+                       x += is_rtl ? rem : - rem;
 
                if (endlabel == END_LABEL_BOX)
                        pi_.pain.rectangle(x, y, size, size, Color_eolmarker);