diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2010-08-17 08:45:17 (GMT) |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2010-08-17 10:01:51 (GMT) |
commit | ff405f5623d7ed18c881c097368e3e9afd2e9443 (patch) | |
tree | 8d8abc65d64bb423b9582e86fed89112141209c5 | |
parent | cc6dc0aeefde881a95f5fea2b26f2f3d7bdc6e15 (diff) | |
download | Qt-ff405f5623d7ed18c881c097368e3e9afd2e9443.zip Qt-ff405f5623d7ed18c881c097368e3e9afd2e9443.tar.gz Qt-ff405f5623d7ed18c881c097368e3e9afd2e9443.tar.bz2 |
Outline / fill inconsistency in X11 paint engine.
Change ebbab30af417dfbf3df47dec15c0e2f8d6a30fa6 broke outline / fill
consistency in the X11 engine. Since the positioning of lines is more
important we'll round the fill coordinates the same way.
The bug was visible in the filltest.qps arthur test.
Reviewed-by: Gunnar Sletta
-rw-r--r-- | src/gui/painting/qpaintengine_x11.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp index e521e01..5307142 100644 --- a/src/gui/painting/qpaintengine_x11.cpp +++ b/src/gui/painting/qpaintengine_x11.cpp @@ -1516,8 +1516,8 @@ void QX11PaintEnginePrivate::fillPolygon_translated(const QPointF *polygonPoints for (int i = 0; i < pointCount; ++i) { translated_points[i] = polygonPoints[i] + offset; - translated_points[i].rx() = qRound(translated_points[i].x()) + offs; - translated_points[i].ry() = qRound(translated_points[i].y()) + offs; + translated_points[i].rx() = qFloor(translated_points[i].x()) + offs; + translated_points[i].ry() = qFloor(translated_points[i].y()) + offs; } fillPolygon_dev(translated_points.data(), pointCount, gcMode, mode); @@ -1754,8 +1754,8 @@ void QX11PaintEnginePrivate::fillPath(const QPainterPath &path, QX11PaintEngineP for (int j = 0; j < polys.at(i).size(); ++j) { translated_points[j] = polys.at(i).at(j); if (!X11->use_xrender || !(render_hints & QPainter::Antialiasing)) { - translated_points[j].rx() = qRound(translated_points[j].rx() + aliasedCoordinateDelta) + offs; - translated_points[j].ry() = qRound(translated_points[j].ry() + aliasedCoordinateDelta) + offs; + translated_points[j].rx() = qFloor(translated_points[j].rx() + aliasedCoordinateDelta) + offs; + translated_points[j].ry() = qFloor(translated_points[j].ry() + aliasedCoordinateDelta) + offs; } } |