From 78c0e6bf43d6fd2960c499e2a5e1c4ec6a0960df Mon Sep 17 00:00:00 2001 From: Ville Voutilainen Date: Tue, 20 Feb 2018 12:34:02 +0200 Subject: Fix a network settings crash when wi-fi password changes Task-number: QTBUG-66280 Change-Id: I9d9d721a6fdba760d13bb1e3c3693db23192f99e Reviewed-by: Teemu Holappa --- src/networksettings/connman/qnetworksettingsuseragent_p.cpp | 13 +++++++------ src/settingsui/network/WifiSettings.qml | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/networksettings/connman/qnetworksettingsuseragent_p.cpp b/src/networksettings/connman/qnetworksettingsuseragent_p.cpp index 595092b..dd7fa5f 100644 --- a/src/networksettings/connman/qnetworksettingsuseragent_p.cpp +++ b/src/networksettings/connman/qnetworksettingsuseragent_p.cpp @@ -85,11 +85,12 @@ QVariantMap QNetworkSettingsUserAgentPrivate::RequestInput(const QDBusObjectPath void QNetworkSettingsUserAgentPrivate::setPassphrase(const QString& passphrase) { m_passphrase = passphrase; - QVariantMap response; - response[PropertyPassphrase] = m_passphrase; - m_reply << response; - m_pendingReply = false; - QDBusConnection::systemBus().send(m_reply); + if (m_pendingReply) { + QVariantMap response; + response[PropertyPassphrase] = m_passphrase; + m_reply << response; + m_pendingReply = false; + QDBusConnection::systemBus().send(m_reply); + } } - QT_END_NAMESPACE diff --git a/src/settingsui/network/WifiSettings.qml b/src/settingsui/network/WifiSettings.qml index b7779bd..04c4d2f 100644 --- a/src/settingsui/network/WifiSettings.qml +++ b/src/settingsui/network/WifiSettings.qml @@ -197,6 +197,9 @@ Item { onClicked: { connectView.visible = false NetworkSettingsManager.userAgent.setPassphrase(passphrase.text) + if (networkSelection.currentIndex != -1) { + NetworkSettingsManager.services.itemFromRow(networkSelection.currentIndex).connectService(); + } } } Button { -- cgit v1.2.3