2b3e8dfe86
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 |
||
---|---|---|
autotests | ||
docs | ||
examples | ||
src | ||
templates | ||
tests | ||
.arcconfig | ||
.reviewboardrc | ||
CMakeLists.txt | ||
COPYING | ||
COPYING.LIB | ||
ExtraDesktop.sh | ||
KF5PlasmaConfig.cmake.in | ||
KF5PlasmaMacros.cmake | ||
metainfo.yaml | ||
README.md |
Plasma Framework
Foundational libraries, components, and tools of the Plasma workspaces
Introduction
The plasma framework provides the following:
- QML components
- A C++ library: libplasma
- Script engines
QML components
org.kde.plasma.core
Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.
org.kde.plasma.components
Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.
org.kde.plasma.extras
Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.
org.kde.plasma.plasmoid
Attached properties for manipulating the current applet or containment, see @ref libplasmaquick
libplasma
This C++ library provides:
- rendering of SVG themes
- loading of files from a certain filesystem structure: packages
- data access through data engines
- loading of the plugin structure of the workspace: containments and applets
See @ref libplasma.
Script engines
Provides support to create applets or containments in various scripting languages.