diff --git a/discover/DiscoverObject.cpp b/discover/DiscoverObject.cpp --- a/discover/DiscoverObject.cpp +++ b/discover/DiscoverObject.cpp @@ -37,6 +37,7 @@ #include #include #include +#include // KDE includes #include @@ -279,6 +280,13 @@ object->installEventFilter(this); connect(object, &QObject::destroyed, qGuiApp, &QCoreApplication::quit); + + connect(qGuiApp, &QGuiApplication::commitDataRequest, this, [this](QSessionManager &sessionManager) { + if (ResourcesModel::global()->isBusy()) { + Q_EMIT preventedClose(); + sessionManager.cancel(); + } + }); } bool DiscoverObject::eventFilter(QObject * object, QEvent * event)