From 2e7efcd568d549418313ac7892e88ca8a8ee0808 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Fri, 24 Aug 2012 19:56:20 +0300 Subject: [PATCH] erasers performance: pragmas --- src/domain/UBGraphicsScene.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index fbac6ef1..27d5e402 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -768,15 +768,21 @@ void UBGraphicsScene::eraseLineTo(const QPointF &pEndPoint, const qreal &pWidth) itemPainterPath.addPolygon(pi->sceneTransform().map(pi->polygon())); if (eraserPath.contains(itemPainterPath)) { - // Compele remove item - intersectedItems << pi; - intersectedPolygons << QPolygonF(); + #pragma omp critical + { + // Compele remove item + intersectedItems << pi; + intersectedPolygons << QPolygonF(); + } } else if (eraserPath.intersects(itemPainterPath)) { QPainterPath newPath = itemPainterPath.subtracted(eraserPath); - intersectedItems << pi; - intersectedPolygons << newPath.simplified().toFillPolygon(pi->sceneTransform().inverted()); + #pragma omp critical + { + intersectedItems << pi; + intersectedPolygons << newPath.simplified().toFillPolygon(pi->sceneTransform().inverted()); + } } }