diff --git a/plugins/proxy/applistwidget.cpp b/plugins/proxy/applistwidget.cpp index c3c87109..9d4e938e 100644 --- a/plugins/proxy/applistwidget.cpp +++ b/plugins/proxy/applistwidget.cpp @@ -29,7 +29,7 @@ AppListWidget::AppListWidget(QString path, QWidget *parent) AppListWidget::~AppListWidget() { - + delete m_dbusInterface; } /** @@ -79,8 +79,9 @@ void AppListWidget::onAppCheckStateChanged() */ void AppListWidget::AddAppProxyConfig() { - if(!m_dbusInterface->isValid()) { + if(m_dbusInterface == nullptr || !m_dbusInterface->isValid()) { qWarning ()<< "init AppProxy dbus error"; + return; } qDebug() << "call QDBusInterface addAppIntoProxy"; @@ -93,8 +94,9 @@ void AppListWidget::AddAppProxyConfig() */ void AppListWidget::RemoveAppProxyConfig() { - if(!m_dbusInterface->isValid()) { + if(m_dbusInterface == nullptr || !m_dbusInterface->isValid()) { qWarning ()<< "init AppProxy dbus error"; + return; } qDebug() << "call QDBusInterface delAppIntoProxy"; @@ -135,4 +137,7 @@ void AppListWidget::initDbus() "/org/ukui/SettingsDaemon/AppProxy", "org.ukui.SettingsDaemon.AppProxy", QDBusConnection::sessionBus()); + if(!m_dbusInterface->isValid()) { + qWarning() << qPrintable(QDBusConnection::sessionBus().lastError().message()); + } } diff --git a/plugins/proxy/proxy.cpp b/plugins/proxy/proxy.cpp index f2ade081..36efe061 100644 --- a/plugins/proxy/proxy.cpp +++ b/plugins/proxy/proxy.cpp @@ -67,7 +67,8 @@ Proxy::Proxy() : mFirstLoad(true) Proxy::~Proxy() { if (!mFirstLoad) { - plugin_leave(); + plugin_leave(); + delete m_appProxyDbus; } } @@ -702,6 +703,9 @@ void Proxy::initDbus() "/org/ukui/SettingsDaemon/AppProxy", "org.ukui.SettingsDaemon.AppProxy", QDBusConnection::sessionBus()); + if(!m_appProxyDbus->isValid()) { + qWarning() << qPrintable(QDBusConnection::sessionBus().lastError().message()); + } } void Proxy::initAppProxyStatus() @@ -752,8 +756,11 @@ void Proxy::setAptProxy(QString host, QString port, bool status) "/", "com.control.center.interface", QDBusConnection::systemBus()); - if (mAptproxyDbus->isValid()) + if (mAptproxyDbus->isValid()) { QDBusReply reply = mAptproxyDbus->call("setaptproxy", host, port , status); + } + delete mAptproxyDbus; + mAptproxyDbus = nullptr; } QHash Proxy::getAptProxy() @@ -786,6 +793,8 @@ QHash Proxy::getAptProxy() mAptInfo.insert(it.arg, it.out.variant()); } } + delete mAptproxyDbus; + mAptproxyDbus = nullptr; return mAptInfo; } @@ -814,8 +823,9 @@ void Proxy::reboot() "/org/gnome/SessionManager", "org.gnome.SessionManager", QDBusConnection::sessionBus()); - - rebootDbus->call("reboot"); + if (rebootDbus->isValid()) { + rebootDbus->call("reboot"); + } delete rebootDbus; rebootDbus = nullptr; } @@ -841,8 +851,9 @@ QFrame *Proxy::setLine(QFrame *frame) bool Proxy::getAppProxyState() { bool state = true; - if(!m_appProxyDbus->isValid()) { + if(m_appProxyDbus == nullptr || !m_appProxyDbus->isValid()) { qWarning ()<< "init AppProxy dbus error"; + return false; } //获取应用代理开启状态 @@ -859,7 +870,7 @@ bool Proxy::getAppProxyState() void Proxy::setAppProxyState(bool state) { - if(!m_appProxyDbus->isValid()) { + if(m_appProxyDbus == nullptr || !m_appProxyDbus->isValid()) { qWarning ()<< "init AppProxy dbus error"; return; } @@ -881,6 +892,7 @@ QStringList Proxy::getAppProxyConf() if(!dbusInterface.isValid()) { qWarning ()<< "init AppProxy dbus error"; + return info; } //获取应用代理配置信息 @@ -903,11 +915,12 @@ QStringList Proxy::getAppProxyConf() void Proxy::setAppProxyConf(QStringList list) { + //AppProxyConf 必填项数量为3 if (list.count() < 3) { return; } - if(!m_appProxyDbus->isValid()) { + if(m_appProxyDbus == nullptr || !m_appProxyDbus->isValid()) { qWarning ()<< "init AppProxy dbus error"; return; } @@ -1244,7 +1257,6 @@ void Proxy::onAppProxyConfChanged() { if (!getipEditState(m_ipAddressLineEdit->text()) || m_portLineEdit->text().isEmpty()) { return; - qDebug() << "onAppProxyConfChanged return"; } if (m_ipAddressLineEdit->text().isEmpty()) { @@ -1261,8 +1273,6 @@ void Proxy::onAppProxyConfChanged() m_appProxyInfo.append(""); m_appProxyInfo.append(""); } - - qDebug() << m_appProxyInfo << Q_FUNC_INFO << __LINE__; } } diff --git a/plugins/proxy/proxy.h b/plugins/proxy/proxy.h index e2cb2c11..5f6b6e0b 100644 --- a/plugins/proxy/proxy.h +++ b/plugins/proxy/proxy.h @@ -262,8 +262,8 @@ private: QFileSystemWatcher *mfileWatch_1; QFileSystemWatcher *mfileWatch_2; - QDBusInterface *mAptproxyDbus; - QDBusInterface *m_appProxyDbus; +// QDBusInterface *mAptproxyDbus; + QDBusInterface *m_appProxyDbus = nullptr; bool isExistSettings = false; bool settingsCreate;