zzag added a comment.
Answer to my inline question: updateSizes can be omitted (but I would prefer to leave it). Also, `maskFrame->enabledBorders = frame->enabledBorders;` above is redundant (maskFrame->enabledBorders is already equal to frame->enabledBorders; it if wasn't the case, then cacheId works incorrectly or FrameData constructor doesn't copy enabledBorders, which isn't the case). Also, if (s_sharedFrames[q->theme()->d].contains(oldKey)) { s_sharedFrames[q->theme()->d].remove(oldKey); s_sharedFrames[q->theme()->d].insert(newKey, maskFrame); } ignores refcount, which may cause problems. I won't fix that, because that would be unrelated change. Yet another "also": if (maskFrame->cachedBackground.isNull()) { return QPixmap(); } is redundant. Anyway, I think I finished my work on fixing bugs that are listed in the summary and would like to proceed with review. REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D13215 To: zzag, #plasma, #frameworks Cc: abetts, mart, aseigo, broulik, kde-frameworks-devel, michaelh, ngraham, bruns