diff options
Diffstat (limited to 'src/widgets/graphicsview/qgraphicsview.cpp')
-rw-r--r-- | src/widgets/graphicsview/qgraphicsview.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets/graphicsview/qgraphicsview.cpp b/src/widgets/graphicsview/qgraphicsview.cpp index c270c4be88..ac8cd45f9e 100644 --- a/src/widgets/graphicsview/qgraphicsview.cpp +++ b/src/widgets/graphicsview/qgraphicsview.cpp @@ -362,6 +362,10 @@ QGraphicsViewPrivate::QGraphicsViewPrivate() styleOptions.reserve(QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS); } +QGraphicsViewPrivate::~QGraphicsViewPrivate() +{ +} + /*! \internal */ @@ -2460,6 +2464,7 @@ QPolygonF QGraphicsView::mapToScene(const QRect &rect) const QPolygonF QGraphicsView::mapToScene(const QPolygon &polygon) const { QPolygonF poly; + poly.reserve(polygon.count()); foreach (const QPoint &point, polygon) poly << mapToScene(point); return poly; @@ -2555,6 +2560,7 @@ QPolygon QGraphicsView::mapFromScene(const QRectF &rect) const QPolygon QGraphicsView::mapFromScene(const QPolygonF &polygon) const { QPolygon poly; + poly.reserve(polygon.count()); foreach (const QPointF &point, polygon) poly << mapFromScene(point); return poly; @@ -2669,7 +2675,9 @@ void QGraphicsView::updateScene(const QList<QRectF> &rects) // Extract and reset dirty scene rect info. QVector<QRect> dirtyViewportRects; const QVector<QRect> &dirtyRects = d->dirtyRegion.rects(); - for (int i = 0; i < dirtyRects.size(); ++i) + const int dirtyRectsCount = dirtyRects.size(); + dirtyViewportRects.reserve(dirtyRectsCount + rects.count()); + for (int i = 0; i < dirtyRectsCount; ++i) dirtyViewportRects += dirtyRects.at(i); d->dirtyRegion = QRegion(); d->dirtyBoundingRect = QRect(); |