davidedmundson added inline comments. INLINE COMMENTS
> framesvg.cpp:136 > > - FrameData *fd = d->frames[d->prefix]; > - > - const QString oldKey = d->cacheId(fd, d->prefix); > - const EnabledBorders oldBorders = fd->enabledBorders; > - fd->enabledBorders = borders; > - const QString newKey = d->cacheId(fd, d->prefix); > - fd->enabledBorders = oldBorders; > - > - //qCDebug(LOG_PLASMA) << "looking for" << newKey; > - FrameData *newFd = > FrameSvgPrivate::s_sharedFrames[theme()->d].value(newKey); > - if (newFd) { > - //qCDebug(LOG_PLASMA) << "FOUND IT!" << newFd->refcount; > - // we've found a math, so insert that new one and ref it .. > - newFd->ref(this); > - d->frames.insert(d->prefix, newFd); > - > - //.. then deref the old one and if it's no longer used, get rid of it > - if (fd->deref(this)) { > - //const QString oldKey = d->cacheId(fd, d->prefix); > - //qCDebug(LOG_PLASMA) << "1. Removing it" << oldKey << > fd->refcount; > - FrameSvgPrivate::s_sharedFrames[fd->theme].remove(oldKey); > - delete fd; > - } > + d->pendingEnabledBorders = borders; > I'm lost on why we have the pendingEnabledBorders you have some bugs if you do: setRepaintBlocked(false); setEnabledBorders(Left) enabledBorders() /// returns All not Left. it'll get updated later but after the changed signal on the FrameSvgItem. Do we need to know the old borders when we update? If so can we revert this logic to have a d->oldBorders that gets set at the end of the update method? REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D4414 EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol