Summary: The original owner of a graphics item is the declarative applet script which is owned and deleted by the applet. Reparenting the containmentquickitem to the containment doesn't really solve anything useful, we were originally effectively owned by the containment(an applet subclass) not the view anyway. This code also accidentally moves the destruction of the applet from being in ::~Applet to being in ::~QObject of the relevant containment. This causes a big problem if the AppletQuickItem tries to access the applet in it's own destructor. The applet object still exists, but use of Applet member variables is not valid. The new preloading code does this, leading to a crash. BUG: 391642 Test Plan: Changed desktop to folder twice Changed activities twice Reviewers: #plasma, mart Reviewed By: #plasma, mart Subscribers: rikmills, #frameworks Tags: #frameworks Differential Revision: https://phabricator.kde.org/D12064 |
||
---|---|---|
autotests | ||
docs | ||
examples | ||
src | ||
templates | ||
tests | ||
.arcconfig | ||
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.