D9138: Don't update when the underlying FrameSvg is repaint-blocked
Eike Hein
noreply at phabricator.kde.org
Sun Dec 3 15:04:38 UTC 2017
hein created this revision.
hein added reviewers: Plasma, davidedmundson, mart.
Restricted Application added projects: Plasma, Frameworks.
Restricted Application added a subscriber: Frameworks.
REVISION SUMMARY
When the component completes `FrameSvg::setRepaintBlocked(false)`
is called, which calls `updateFrameData`, which emits
`repaintNeeded`, which is connected to `doUpdate` anyway.
This saves one `doUpdate` per instanciation. The reason for that
is as follows:
- The concept or repaint blocking is implemented in `FrameSvg`, which inherits from `Svg`.
- The `repaintNeeded` signal connected to `doUpdate` is the one in `Svg`.
- `Svg` code emits `repaintNeeded` liberally even when repaints are blocked, since it doesn't know anything about this.
Hence we check if repaints are blocked in doUpdate and abort,
implementing the QQmlParserStatus interface in the right class.
REPOSITORY
R242 Plasma Framework (Library)
BRANCH
master
REVISION DETAIL
https://phabricator.kde.org/D9138
AFFECTED FILES
src/declarativeimports/core/framesvgitem.cpp
To: hein, #plasma, davidedmundson, mart
Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20171203/45e7517f/attachment.html>
More information about the Kde-frameworks-devel
mailing list