Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.4.0
Description
Loading the attached svg image qtbug44674.svg to QImage ends up to an infinite loop in QBezier::shifted() function (\qtbase\src\gui\painting\qbezier.cpp, line 400). At some point the while (b >= beziers) loop ends up into a situation where ShiftResults are consecutively Discard and Split, and hence the value of b switches back and forth between two values infinitely. We probably hit a precision limit when split() cannot split anymore and then the bezier shift equals to zero and is therefore discarded.