with Qt-4.6.0, but fails with Qt-4.6.2 and Qt-4.7.0.
--- /home/webkitbuildbot/slaves/release32bit-4.7.0/buildslave/qt-linux-32-release-qt470/build/layout-test-results/canvas/philip/tests/2d.path.stroke.overlap-expected.txt 2010-06-09 03:27:09.907399661 -0700
+++ /home/webkitbuildbot/slaves/release32bit-4.7.0/buildslave/qt-linux-32-release-qt470/build/layout-test-results/canvas/philip/tests/2d.path.stroke.overlap-actual.txt 2010-06-09 03:27:09.903399630 -0700
@@ -5,4 +5,4 @@
+Failed assertion: got pixel [0,191,0,255] at (50,25), expected [0,127,0,255] +/- 1
Skipped by http://trac.webkit.org/changeset/60890 until fix
to make buildbots happy after update to Qt-4.6.2.
http://trac.webkit.org/changeset/60890 might have broken GTK Linux 32-bit Debug
The following changes are on the blame list:
(In reply to comment #2)
> http://trac.webkit.org/changeset/60890 might have broken GTK Linux 32-bit Debug
> The following changes are on the blame list:
no, we are innocent now. :)
Still valid bug with Qt 4.8 and Qt 5 WK1 and WK2.
I'll investigate it.
(In reply to comment #5)
> I'll investigate it.
According to spec: "As a result of how the algorithm to trace a path is defined, overlapping parts of the paths in one stroke operation are treated as if _their union_ was what was painted."
We are not handling like that, but we are painting the intersection darker, thus the failure on it. It came out that the problem is how the function QPainter::strokePath works, I'm still trying to figure out a great solution for it.
Created attachment 143148 [details]
Hey No'am, could you take a look?
Comment on attachment 143148 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=143148&action=review
> + QPainterPath stroke = pathStroker.createStroke(platformPath);
> + p->fillPath(stroke, shadowPen.brush());
You repeat this sequence about 5 times, please put it in some static function.
Created attachment 143318 [details]
Comment on attachment 143318 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=143318&action=review
> +inline static void fillPathStroke(QPainter* painter, QPainterPathStroker& pathStroker, QPainterPath& platformPath, const QBrush& brush)
shouldn't platformPath be a const reference?
Created attachment 143326 [details]
Comment on attachment 143326 [details]
Clearing flags on attachment: 143326
Committed r118020: <http://trac.webkit.org/changeset/118020>
All reviewed patches have been landed. Closing bug.