diff --git a/app/SystemSettingsApp.cpp b/app/SystemSettingsApp.cpp index 6630194f..acd6ed8b 100644 --- a/app/SystemSettingsApp.cpp +++ b/app/SystemSettingsApp.cpp @@ -1,49 +1,51 @@ /** * Copyright (C) 2009 Ben Cooksley * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "SystemSettingsApp.h" #include #include SystemSettingsApp::SystemSettingsApp(int& argc, char* argv[]) : QApplication(argc, argv) { setOrganizationDomain(QStringLiteral("kde.org")); KDBusService* service = new KDBusService(KDBusService::Unique, this); QObject::connect(service, &KDBusService::activateRequested, this, [=]() { - KWindowSystem::forceActiveWindow(window->winId()); + if (window) { + KWindowSystem::forceActiveWindow(window->winId()); + } } ); } SystemSettingsApp::~SystemSettingsApp() { } void SystemSettingsApp::setMainWindow(SettingsBase * main) { window = main; } void SystemSettingsApp::quit() { if( window && !window->queryClose() ) { return; } QApplication::quit(); } diff --git a/app/SystemSettingsApp.h b/app/SystemSettingsApp.h index d0f227b5..f9da53a1 100644 --- a/app/SystemSettingsApp.h +++ b/app/SystemSettingsApp.h @@ -1,49 +1,49 @@ /** * Copyright (C) 2009 Ben Cooksley * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ /** * Any changes to this header file need to have the following command executed afterwards to regenerate the dbus interface * qdbuscpp2xml SystemSettingsApp.h -o org.kde.systemsettings.xml */ #ifndef SYSTEMSETTINGSAPP_H #define SYSTEMSETTINGSAPP_H #include #include "SettingsBase.h" class SystemSettingsApp : public QApplication { Q_OBJECT public: SystemSettingsApp(int& argc, char* argv[]); ~SystemSettingsApp() override; void setMainWindow(SettingsBase * main); public Q_SLOTS: Q_SCRIPTABLE void quit(); private: - SettingsBase * window = nullptr; + QPointer window; }; #endif