This simple patch saves 4 seconds in the PageDown test.

Committed in the "younes" branch.

Abdel.
Index: QLPainter.C
===================================================================
--- QLPainter.C (revision 14026)
+++ QLPainter.C (working copy)
@@ -60,6 +60,13 @@
 QPainter & QLPainter::setQPainterPen(QPainter & qp, LColor_color c,
        Painter::line_style ls, Painter::line_width lw)
 {
+       if (c == current_color_ && ls == current_ls_ && lw == current_lw_)
+               return qp;
+
+       current_color_ = c;
+       current_ls_ = ls;
+       current_lw_ = lw;
+
        QPen pen = qp.pen();
 
        pen.setColor(lcolorcache.get(c));
@@ -241,7 +248,7 @@
                // We need to draw the text as LTR as we use our own bidi
                // code.
                qp.setLayoutDirection(Qt::LeftToRight);
-               qp.drawText(x, y, str, -1);
+               qp.drawText(x, y, str);
        } else {
                smallCapsText(x, y, str, f);
        }
Index: QLPainter.h
===================================================================
--- QLPainter.h (revision 14026)
+++ QLPainter.h (working copy)
@@ -151,6 +151,10 @@
 
        /// the working area
        WorkArea * qwa_;
+
+       LColor::color current_color_;
+       Painter::line_style current_ls_;
+       Painter::line_width current_lw_;
 };
 
 } // namespace frontend

Reply via email to