diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2013-06-27 17:43:03 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-28 08:39:01 +0200 |
commit | 42e8371600155bcff620929d5bf4dff998f3324f (patch) | |
tree | a0b89ad51f07f50eca28903212049423bddc58c5 /src/bluetooth/qbluetoothlocaldevice.cpp | |
parent | 06533c66b54f2ac9a9911e093723b71e27bd677d (diff) |
Fix broken QBluetoothLocalDevice::isValid() behavior
The Bluez and QNX backend always returned true. They should only
return true if the local device is truly available or if the
passed QBluetoothAddress is indeed one of the local bluetooth
devices.
The related unit test was extended to ensure common bahvior of
invalid QBluetoothLocalDevice instance on all platforms.
Task-number: QTBUG-32068
Change-Id: I40ab4db48dc82ba0d1c0bb5275e96a3ee812b01a
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Alex <alexander.blasche@digia.com>
Diffstat (limited to 'src/bluetooth/qbluetoothlocaldevice.cpp')
-rw-r--r-- | src/bluetooth/qbluetoothlocaldevice.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/bluetooth/qbluetoothlocaldevice.cpp b/src/bluetooth/qbluetoothlocaldevice.cpp index 9627c082..0e1aa83a 100644 --- a/src/bluetooth/qbluetoothlocaldevice.cpp +++ b/src/bluetooth/qbluetoothlocaldevice.cpp @@ -104,16 +104,16 @@ QT_BEGIN_NAMESPACE_BLUETOOTH namespace { -class LocalDeviceRegisterMetaTypes -{ -public: - LocalDeviceRegisterMetaTypes() + class LocalDeviceRegisterMetaTypes { - qRegisterMetaType<QBluetoothLocalDevice::HostMode>("QBluetoothLocalDevice::HostMode"); - qRegisterMetaType<QBluetoothLocalDevice::Pairing>("QBluetoothLocalDevice::Pairing"); - qRegisterMetaType<QBluetoothLocalDevice::Error>("QBluetoothLocalDevice::Error"); - } -} _registerLocalDeviceMetaTypes; + public: + LocalDeviceRegisterMetaTypes() + { + qRegisterMetaType<QBluetoothLocalDevice::HostMode>("QBluetoothLocalDevice::HostMode"); + qRegisterMetaType<QBluetoothLocalDevice::Pairing>("QBluetoothLocalDevice::Pairing"); + qRegisterMetaType<QBluetoothLocalDevice::Error>("QBluetoothLocalDevice::Error"); + } + } _registerLocalDeviceMetaTypes; } /*! @@ -130,7 +130,9 @@ QBluetoothLocalDevice::~QBluetoothLocalDevice() */ bool QBluetoothLocalDevice::isValid() const { - return d_ptr; + if (d_ptr) + return d_ptr->isValid(); + return false; } /*! |