hein added a comment.
So I worked out why this happens. We have API like this: SvgItem { svg: Svg { imagePath: "..." } } Without my patch, `Svg` is instanciated with a scale factor of 1.0 always. Then `setImagePath` is called on it first. Then `SvgItem::setSvg` is called with the `Svg` instance and calls `setScaleFactor` on it. In this pattern, `SvgItem` doesn't get a chance to set the scale factor before `imagePath`, because it's not the one setting the latter. The only call site fix here would be to implement `QQmlParserStatus` in `Svg` and then set `scaleFactor` from QML everywhere by accessing `Units`. But this hygiene would be really hard to enforce, especially in third-party widgets. I still consider my patch to be a fairly pragmatic solution to this. REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D9119 To: hein, #plasma, davidedmundson, broulik, mart Cc: graesslin, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart