summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPasi Petäjäjärvi <pasi.petajajarvi@qt.io>2022-05-12 15:45:04 +0300
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-05-19 16:38:29 +0000
commit2365f80422aedd753113b8d148b5860ba67cab9d (patch)
treef7c70db714e211f4cda8a0dbba5b71e08e6ddd0e
parent87c429218894d16083e6924f71cc3f7c46e0a172 (diff)
Fix crash when unplugging/plugging ethernet cable
We do not remove the ethernet service (network) when cable is disconnected. Instead it's "hold in place" via placeholder but that is not checked and plugging cable back will cause crash. Fixes: QTBUG-103327 Change-Id: If14a4f28217ba5883dbc23ba42a1e91b004b7d58 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> (cherry picked from commit 26b002e1388d197772b56d471a6dd6ecc4ab2509) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/networksettings/connman/qnetworksettingsmanager_p.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/networksettings/connman/qnetworksettingsmanager_p.cpp b/src/networksettings/connman/qnetworksettingsmanager_p.cpp
index eb2c1e7..bc92f97 100644
--- a/src/networksettings/connman/qnetworksettingsmanager_p.cpp
+++ b/src/networksettings/connman/qnetworksettingsmanager_p.cpp
@@ -260,9 +260,11 @@ void QNetworkSettingsManagerPrivate::onServicesChanged(ConnmanMapStructList chan
emit q->servicesChanged();
if (auto service = m_unnamedServices.take(path))
- service->deleteLater();
+ if (!service->placeholderState())
+ service->deleteLater();
if (auto service = m_unknownServices.take(path))
- service->deleteLater();
+ if (!service->placeholderState())
+ service->deleteLater();
m_unnamedServicesForSsidConnection.remove(path); // do not delete here
}