<table><tr><td style="">zzag added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13215">View Revision</a></tr></table><br /><div><div><p>I think I got it.</p>

<p>FrameSVGPrivate::updateFrameData updates only <tt style="background: #ebebeb; font-size: 13px;">frame</tt>, <tt style="background: #ebebeb; font-size: 13px;">maskFrame</tt> is updated lazily in <tt style="background: #ebebeb; font-size: 13px;">alphaMask</tt> method, but the alphaMask method ignores previous state of enabledBorders. So, we end up with using stale maskFrame.</p>

<p>E.g.</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">FrameSVGPrivate::updateFrameData() {
if (!fd) {
    ...
    old key = "10_216_768_1_1__dialogs/background"
    old borders = QFlags<Plasma::FrameSvg::EnabledBorders>(BottomBorder|RightBorder)
    new key = "8_216_768_1_1__dialogs/background"
    new borders = QFlags<Plasma::FrameSvg::EnabledBorders>(RightBorder)</pre></div>

<p>Now, when we call alphaMask,</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">FrameSVGPrivate::alphaMask() {
    if (maskPrefix.isNull()) {
    } else {
         ...
         oldKey = "10_216_768_1_1_mask-_dialogs/background"</pre></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R242 Plasma Framework (Library)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13215">https://phabricator.kde.org/D13215</a></div></div><br /><div><strong>To: </strong>zzag, Plasma, Frameworks<br /><strong>Cc: </strong>mart, aseigo, broulik, kde-frameworks-devel, michaelh, ngraham, bruns<br /></div>