Looks more likely to be in the QPathClipper::clip() method itself.
Attached you can find a very small testcase that shows an incorrect
behaviour in QPainterPath::intersected().
First the app creates two painterpaths called path1 and path2.
Then it calculates
- path1.intersected(path2) and
The results should be the same. However, in the given example the
intersection of path1 with path2 results in an empty path which obviously is
incorrect. The other way works. plot.png shows that the two paths indeed