Dialog: disconnect from QWindow signals in destructor
ClosedPublic

Authored by dvratil on Feb 26 2020, 8:53 AM.

Details

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

Diff Detail

Repository
R242 Plasma Framework (Library)
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
dvratil created this revision.Feb 26 2020, 8:53 AM
Restricted Application added a project: Frameworks. · View Herald TranscriptFeb 26 2020, 8:53 AM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
dvratil requested review of this revision.Feb 26 2020, 8:53 AM
davidedmundson accepted this revision.Feb 26 2020, 8:57 AM
This revision is now accepted and ready to land.Feb 26 2020, 8:57 AM
This revision was automatically updated to reflect the committed changes.