summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorBill King <bill.king@nokia.com>2009-08-05 03:45:19 (GMT)
committerBill King <bill.king@nokia.com>2009-08-05 03:45:19 (GMT)
commitbd51c3010e78925a2074122b281de53f01be9ef9 (patch)
tree23ac1bb378caebd0072b54fd191932ac65ac1b35 /src/gui/painting
parenta4ede01350b506c9908241f0b9002f560cc0949f (diff)
parent7e8e53cded4622ac35ff115e26e074de6722d1a0 (diff)
downloadQt-bd51c3010e78925a2074122b281de53f01be9ef9.zip
Qt-bd51c3010e78925a2074122b281de53f01be9ef9.tar.gz
Qt-bd51c3010e78925a2074122b281de53f01be9ef9.tar.bz2
Merge branch '4.5'
Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qoutlinemapper.cpp2
-rw-r--r--src/gui/painting/qtransform.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/painting/qoutlinemapper.cpp b/src/gui/painting/qoutlinemapper.cpp
index 70125b9..1287672 100644
--- a/src/gui/painting/qoutlinemapper.cpp
+++ b/src/gui/painting/qoutlinemapper.cpp
@@ -201,6 +201,8 @@ void QOutlineMapper::endOutline()
const QVectorPath vp((qreal *)m_elements.data(), m_elements.size(), m_element_types.data());
QPainterPath path = vp.convertToPainterPath();
path = QTransform(m_m11, m_m12, m_m13, m_m21, m_m22, m_m23, m_dx, m_dy, m_m33).map(path);
+ if (!(m_outline.flags & QT_FT_OUTLINE_EVEN_ODD_FILL))
+ path.setFillRule(Qt::WindingFill);
uint old_txop = m_txop;
m_txop = QTransform::TxNone;
if (path.isEmpty())
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp
index 0a64e4e..a13b494 100644
--- a/src/gui/painting/qtransform.cpp
+++ b/src/gui/painting/qtransform.cpp
@@ -1541,6 +1541,7 @@ static QPainterPath mapProjective(const QTransform &transform, const QPainterPat
if (path.elementCount() > 0 && lastMoveTo != last)
lineTo_clipped(result, transform, last, lastMoveTo, needsMoveTo, false);
+ result.setFillRule(path.fillRule());
return result;
}