move setImagePath logic into updateFrameData()

Authored by mart on Feb 28 2017, 11:37 AM.

Description

move setImagePath logic into updateFrameData()

Summary:
make sure the framedata creation/destruction is
completely in updateFrameData, makes easier to track
and possible to use the repaintsblocked logic.
now only one framedata instance should be created at startup.

CCBUG:376754

Test Plan:

  • autotests pass, plasma runs ok, crash on 376754 not reproducible anymore
  • possible to have a plasmashell session start without the creation of a single svg renderer (startups after the first when the cache is generated)
  • on qml profiler, framesvgitem creation is ~12 msecs the first one created, ~2-300 musecs the subsequent ones, seems to be a bit better than before the whole refactor started
  • tried against the latest patches that remove the binding loops, still correct rendering and no binding loop
  • tried with both empty and existing cache in place

Reviewers: Plasma, davidedmundson

Reviewed By: Plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, Frameworks

Tags: Frameworks, Plasma

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

Details

Committed
martFeb 28 2017, 12:35 PM
Reviewer
Plasma
Differential Revision
D4707: move setImagePath logic into updateFrameData()
Parents
R242:af2b27d1b89b: IconItem: Add roundToIconSize property
Branches
Unknown
Tags
Unknown