diff --git a/kcm/src/declarative/qmlscreen.h b/kcm/src/declarative/qmlscreen.h --- a/kcm/src/declarative/qmlscreen.h +++ b/kcm/src/declarative/qmlscreen.h @@ -57,6 +57,7 @@ public: explicit QMLScreen(QQuickItem *parent = nullptr); + ~QMLScreen() override; int connectedOutputsCount() const; int enabledOutputsCount() const; diff --git a/kcm/src/declarative/qmlscreen.cpp b/kcm/src/declarative/qmlscreen.cpp --- a/kcm/src/declarative/qmlscreen.cpp +++ b/kcm/src/declarative/qmlscreen.cpp @@ -34,6 +34,12 @@ connect(this, &QMLScreen::heightChanged, this, &QMLScreen::viewSizeChanged); } +QMLScreen::~QMLScreen() +{ + qDeleteAll(m_outputMap); + m_outputMap.clear(); +} + KScreen::ConfigPtr QMLScreen::config() const { return m_config;