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/plasma-devel/attachments/20171203/45e7517f/attachment-0001.html>


More information about the Plasma-devel mailing list