Cleanup Virtual Desktop Manager list entry in PlasmaVirtualDesktop destructor

Authored by davidedmundson on Nov 13 2018, 4:16 PM.

Description

Cleanup Virtual Desktop Manager list entry in PlasmaVirtualDesktop destructor

Summary:
Current code contains a path to cleanup
PlasmaVirtualDesktopManagementInterface's list of destops if the
PlasmaVirtualDesktop object is destroyed.

However at the time that this is run, the entry in the list is already
dangling and therefore shouldn't be used.

This patch moves the cleanup logic into the destructor of
PlasmaVirtualDesktop, however this means we need to make sure
PlasmaVirtualDesktopManagementInterface outlives the
PlasmaVirtualDesktop by performing an explicit early cleanup instead of
relying on QObject.

Test Plan: Relevant unit test still passes.

Reviewers: KWin, mart

Reviewed By: KWin, mart

Subscribers: kde-frameworks-devel

Tags: Frameworks

Differential Revision: https://phabricator.kde.org/D16686

Details