Don't update when the underlying FrameSvg is repaint-blocked

Authored by hein on Dec 3 2017, 2:57 PM.

Description

Don't update when the underlying FrameSvg is repaint-blocked

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.

Reviewers: Plasma, davidedmundson, mart

Subscribers: plasma-devel, Frameworks

Tags: Plasma, Frameworks

Differential Revision: https://phabricator.kde.org/D9138