FrameSvg: Recache maskFrame if enabledBorders has been changed
Summary:
In some cases, when rendering frame svg background, measures & margins
do not correspond to enabledBorders. I.e. bottomHeight may be equal to 5,
but the bottom border is disabled. This causes visual artifacts like this
Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.
The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders
into account when it's making decision whether it should update maskFrame.
Just for reference, this is "after"
BUG: 382324
BUG: 390632
BUG: 391659
Test Plan:
- Triggered the Breeze task switcher (with compositing on and off)
- Didn't see any transparent strips
- Tried running FrameSvgTest, still passes
Reviewers: Plasma, Frameworks, mart
Reviewed By: Plasma, mart
Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel
Tags: Frameworks
Differential Revision: https://phabricator.kde.org/D13215