@@ -1572,15 +1572,16 @@ void QgsImageFillSymbolLayer::renderPolygon( const QPolygonF& points, QList<QPol
1572
1572
1573
1573
p->setPen ( QPen ( Qt::NoPen ) );
1574
1574
1575
+ QTransform bkTransform = mBrush .transform ();
1575
1576
if ( context.renderContext ().testFlag ( QgsRenderContext::RenderMapTile ) )
1576
1577
{
1577
1578
// transform brush to upper left corner of geometry bbox
1578
1579
QPointF leftCorner = points.boundingRect ().topLeft ();
1579
- QTransform leftCornerTransform = QTransform::fromTranslate ( leftCorner.x (), leftCorner.y () );
1580
- mBrush .setTransform ( leftCornerTransform );
1580
+ QTransform t = mBrush .transform ();
1581
+ t.translate ( leftCorner.x (), leftCorner.y () );
1582
+ mBrush .setTransform ( t );
1581
1583
}
1582
1584
1583
-
1584
1585
if ( context.selected () )
1585
1586
{
1586
1587
QColor selColor = context.renderContext ().selectionColor ();
@@ -1591,18 +1592,13 @@ void QgsImageFillSymbolLayer::renderPolygon( const QPolygonF& points, QList<QPol
1591
1592
_renderPolygon ( p, points, rings, context );
1592
1593
}
1593
1594
1594
- if ( qgsDoubleNear ( mNextAngle , 0.0 ) )
1595
- {
1596
- p->setBrush ( mBrush );
1597
- }
1598
- else
1595
+ if ( !qgsDoubleNear ( mNextAngle , 0.0 ) )
1599
1596
{
1600
1597
QTransform t = mBrush .transform ();
1601
1598
t.rotate ( mNextAngle );
1602
- QBrush rotatedBrush = mBrush ;
1603
- rotatedBrush.setTransform ( t );
1604
- p->setBrush ( rotatedBrush );
1599
+ mBrush .setTransform ( t );
1605
1600
}
1601
+ p->setBrush ( mBrush );
1606
1602
_renderPolygon ( p, points, rings, context );
1607
1603
if ( mOutline )
1608
1604
{
@@ -1616,6 +1612,8 @@ void QgsImageFillSymbolLayer::renderPolygon( const QPolygonF& points, QList<QPol
1616
1612
}
1617
1613
}
1618
1614
}
1615
+
1616
+ mBrush .setTransform ( bkTransform );
1619
1617
}
1620
1618
1621
1619
bool QgsImageFillSymbolLayer::setSubSymbol ( QgsSymbolV2* symbol )
0 commit comments