summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpainter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qpainter.cpp')
-rw-r--r--src/gui/painting/qpainter.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 6bb8acd..50d27ac 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -5724,14 +5724,18 @@ void QPainter::drawText(const QPointF &p, const QString &str)
*/
void QPainter::drawStaticText(const QPointF &position, const QStaticText &staticText)
{
+ Q_D(QPainter);
+ if (!d->engine || staticText.isEmpty() || pen().style() == Qt::NoPen)
+ return;
+
const QStaticTextPrivate *staticText_d = QStaticTextPrivate::get(&staticText);
QFixed x = QFixed::fromReal(position.x());
- for (int i=0; i<staticText_d->items.size();++i) {
- QTextItemInt *gf = staticText_d->items.at(i);
- if (gf->num_chars != 0)
- drawTextItem(QPointF(x.toReal(), position.y()), *gf);
- x += gf->width;
+ for (int i=0; i<staticText_d->itemCount; ++i) {
+ const QTextItemInt &gf = staticText_d->items[i];
+ if (gf.num_chars != 0)
+ drawTextItem(QPointF(x.toReal(), position.y()), gf);
+ x += gf.width;
}
}