]> git.lyx.org Git - features.git/commitdiff
* avoid one malloc by using a static array
authorStefan Schimanski <sts@lyx.org>
Sat, 19 May 2007 13:15:08 +0000 (13:15 +0000)
committerStefan Schimanski <sts@lyx.org>
Sat, 19 May 2007 13:15:08 +0000 (13:15 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18422 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/QLPainter.cpp

index 45f6b040ae68178227ee4f42969c4a730ba201bd..872841d09a3cf5f14a6297f075a8396a947d9001 100644 (file)
@@ -114,8 +114,9 @@ void QLPainter::lines(int const * xp, int const * yp, int np,
        if (!isDrawingEnabled())
                return;
        
-       // Must use new as np is not known at compile time.
-       boost::scoped_array<QPoint> points(new QPoint[np]);
+       // increase the size if needed, but avoid mallocs by dynamic allocation
+       static QPoint points[16];
+       BOOST_ASSERT(np < 16);
        
        bool antialias = false;
        for (int i = 0; i < np; ++i) {
@@ -127,7 +128,7 @@ void QLPainter::lines(int const * xp, int const * yp, int np,
        setQPainterPen(col, ls, lw);
        bool const text_is_antialiased = renderHints() & TextAntialiasing;
        setRenderHint(Antialiasing, antialias && text_is_antialiased);
-       drawPolyline(points.get(), np);
+       drawPolyline(points, np);
        setRenderHint(Antialiasing, false);
 }