Go to file
David Edmundson 5f746ce1c2 Fix crash on teardown with Applet's ConfigLoader
Summary:
Deleting AppletPrivate will delete the ConfigLoader which will cause a
save, which can trigger a configSaved signal.

I think it is correct that the config might emit a signal just before
closing, and not at fault.

AppletPrivate is deleted by this point, but Applet is not so the
connection is still alive.

When we handle the signal, it goes into a Q_PRIVATE_SLOT that crashes.

This disconnect pattern is already used for guarding self config
changes.

BUG: 411221

Test Plan: kquitapp5 plasmashell, no longer crashes

Reviewers: #plasma, alexeymin

Reviewed By: alexeymin

Subscribers: alexeymin, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D23707
2019-09-07 23:19:03 +02:00
autotests Skip test on wayland 2019-08-30 18:06:45 +02:00
cmake Support gzipping of svgz also on windows, using 7z 2019-04-12 22:45:16 +02:00
docs Rename docs/plasmapkg directory to docs/plasmapkg2 2016-06-13 15:55:56 +02:00
examples SVN_SILENT made messages (.desktop file) - always resolve ours 2019-08-20 04:58:25 +02:00
src Fix crash on teardown with Applet's ConfigLoader 2019-09-07 23:19:03 +02:00
templates SVN_SILENT made messages (.desktop file) - always resolve ours 2019-08-20 04:58:25 +02:00
tests Port trivial connects to the new style 2019-08-30 17:26:54 +02:00
.arcconfig Introduce .arcconfig file for better integration with phabricator.kde.org 2016-08-02 18:22:51 +02:00
.gitignore GIT_SILENT: add gitignore 2019-03-04 07:03:07 +01:00
CMakeLists.txt GIT_SILENT Upgrade ECM and KF5 version requirements for 5.62.0 release. 2019-09-07 12:38:57 +00:00
COPYING Add COPYING and COPYING.LIB files 2013-12-23 18:39:10 +00:00
COPYING.LIB Add COPYING and COPYING.LIB files 2013-12-23 18:39:10 +00:00
ExtraDesktop.sh i18n: translate kdevtemplate for qml-plasmoid too 2016-10-08 14:25:03 +02:00
KF5PlasmaConfig.cmake.in Use ecm_setup_qtplugin_macro_names 2018-03-21 00:55:32 +01:00
KF5PlasmaMacros.cmake new macro plasma_install_bundled_package 2018-03-20 16:52:18 +01:00
metainfo.yaml Add FreeBSD to metainfo.yaml. 2016-11-23 20:39:07 +01:00
README.md Add/update first line of README.md to be a short description, useful for inqlude 2015-07-27 19:41:21 +02:00

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.