Commit 68266eae authored by Thorbjørn Lindeijer's avatar Thorbjørn Lindeijer
Browse files

Fixed visible wrap column on systems with non-fractional fonts sizes

QFontMetricsF::averageCharWidth seems to always return a fractional size
(at least on Linux/GNOME with DejaVu Mono), even when the font is not
actually drawn at sub-pixels. This caused the visible wrap column to
appear in the wrong place.

As a workaround, use the width of the character 'x', which is pretty
average and does align to pixels when needed.

Task-number: QTCREATORBUG-2746
Reviewed-by: con
parent 10b0c3f4
......@@ -2814,7 +2814,9 @@ void BaseTextEditor::paintEvent(QPaintEvent *e)
qreal lineX = 0;
if (d->m_visibleWrapColumn > 0) {
lineX = QFontMetricsF(font()).averageCharWidth() * d->m_visibleWrapColumn + offset.x() + 4;
// Don't use QFontMetricsF::averageCharWidth here, due to it returning
// a fractional size even when this is not supported by the platform.
lineX = QFontMetricsF(font()).width(QLatin1Char('x')) * d->m_visibleWrapColumn + offset.x() + 4;
if (lineX < viewportRect.width()) {
const QBrush background = d->m_ifdefedOutFormat.background();
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment