Go to file
Daniel Vrátil b6213cdd59
Dialog: disconnect from QWindow signals in destructor
Summary:
When Dialog is being destroyed, its QWindow super-class may still emit
some signals from its destructor. Dialog is connected so some of them,
so this leads to Qt invoking slots on Dialog, whose destructor has
already been called, leading to crashes.

This patch disconnects all internal connections in Dialog's destructor.

See https://phabricator.kde.org/D23339 for details.

Test Plan: Plasma no longer crashes when a notification appears

Reviewers: #plasma, nicolasfella, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27671
2020-02-26 10:00:45 +01:00
autotests Port qrand to QRandomGenerator (qrand is deprecated in qt5.15) 2020-01-07 06:47:10 +01:00
cmake Support gzipping of svgz also on windows, using 7z 2019-04-12 22:45:16 +02:00
docs API dox: adapt kapidox & ecm_add_qch settings to new deprecation macros 2019-10-22 19:41:15 +02:00
examples Port away from Title and towards level 1 Heading 2020-02-21 08:39:25 -07:00
src Dialog: disconnect from QWindow signals in destructor 2020-02-26 10:00:45 +01:00
templates Port away from Title and towards level 1 Heading 2020-02-21 08:39:25 -07:00
tests fix layout size hints for button labels 2020-02-19 12:12:41 +01:00
.arcconfig Introduce .arcconfig file for better integration with phabricator.kde.org 2016-08-02 18:22:51 +02:00
.gitignore GIT_SILENT: qtcreator created .cmake/ repo. 2020-02-12 07:18:27 +01:00
CMakeLists.txt Use ecm_qt_install_logging_categories over manual categories file 2020-02-12 04:09:12 +01: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.