diff --git a/src/insets/InsetLine.cpp b/src/insets/InsetLine.cpp index 379e1ed20f..316c9e5d8d 100644 --- a/src/insets/InsetLine.cpp +++ b/src/insets/InsetLine.cpp @@ -46,12 +46,15 @@ void InsetLine::metrics(MetricsInfo & mi, Dimension & dim) const dim.asc = 3; dim.des = 3; dim.wid = mi.base.textwidth; + // Cache the inset dimension. + setDimCache(mi, dim); } void InsetLine::draw(PainterInfo & pi, int x, int y) const { - pi.pain.line(x, y, x + pi.base.textwidth, y, Color::topline, + Dimension const dim = dimension(*pi.base.bv); + pi.pain.line(x, y, x + dim.wid, y, Color::topline, Painter::line_solid, Painter::line_thick); } diff --git a/src/insets/InsetPagebreak.cpp b/src/insets/InsetPagebreak.cpp index 37f1123ef7..0ee79aa6c2 100644 --- a/src/insets/InsetPagebreak.cpp +++ b/src/insets/InsetPagebreak.cpp @@ -46,6 +46,8 @@ void InsetPagebreak::metrics(MetricsInfo & mi, Dimension & dim) const dim.asc = defaultRowHeight(); dim.des = defaultRowHeight(); dim.wid = mi.base.textwidth; + // Cache the inset dimension. + setDimCache(mi, dim); } @@ -55,12 +57,14 @@ void InsetPagebreak::draw(PainterInfo & pi, int x, int y) const font.setColor(Color::pagebreak); font.decSize(); + Dimension const dim = dimension(*pi.base.bv); + int w = 0; int a = 0; int d = 0; theFontMetrics(font).rectText(insetLabel(), w, a, d); - int const text_start = int(x + (pi.base.textwidth - w) / 2); + int const text_start = int(x + (dim.wid - w) / 2); int const text_end = text_start + w; pi.pain.rectText(text_start, y + d, insetLabel(), font, @@ -68,7 +72,7 @@ void InsetPagebreak::draw(PainterInfo & pi, int x, int y) const pi.pain.line(x, y, text_start, y, Color::pagebreak, Painter::line_onoffdash); - pi.pain.line(text_end, y, int(x + pi.base.textwidth), y, + pi.pain.line(text_end, y, int(x + dim.wid), y, Color::pagebreak, Painter::line_onoffdash); }