summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSami Nurmenniemi <sami.nurmenniemi@qt.io>2017-10-04 16:53:43 +0300
committerSami Nurmenniemi <sami.nurmenniemi@qt.io>2017-11-22 10:41:42 +0000
commit7ff2eba7a3b1f63ae50fbed15cff17e12a64dc41 (patch)
tree1936d1f4a6bba99c15c2fb779b76c9a626130074
parentddb14d59252c451a3ceb6271d9579c902cf6bdd2 (diff)
Prevent bluetooth crashes for devices without bluetooth service in dbus
Task-number: QTBUG-63091 Change-Id: I2428e411c593783cb6142df46b863a00648b7bed Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io> Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
-rw-r--r--src/bluetoothsettings/bluez/bluetoothdevice_p.cpp3
-rw-r--r--src/settingsui/bluetooth/Bluetooth.qml1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp b/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp
index 28ed605..4705ac4 100644
--- a/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp
+++ b/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp
@@ -67,6 +67,9 @@ bool BluetoothDevicePrivate::powered() const
void BluetoothDevicePrivate::setPowered(const bool& aPowered)
{
+ if (!m_localDevice)
+ return;
+
if (aPowered) {
m_localDevice->powerOn();
}
diff --git a/src/settingsui/bluetooth/Bluetooth.qml b/src/settingsui/bluetooth/Bluetooth.qml
index 60ee017..13572a8 100644
--- a/src/settingsui/bluetooth/Bluetooth.qml
+++ b/src/settingsui/bluetooth/Bluetooth.qml
@@ -54,6 +54,7 @@ Item {
indicatorWidth: root.width * 0.15
indicatorHeight: root.height * 0.06
+ enabled: BtDevice.available
checked: BtDevice.powered
onCheckedChanged: BtDevice.powered = checked
}