diff options
-rw-r--r-- | src/serialport/qserialportinfo_mac.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/serialport/qserialportinfo_mac.cpp b/src/serialport/qserialportinfo_mac.cpp index 8d4034a..e917545 100644 --- a/src/serialport/qserialportinfo_mac.cpp +++ b/src/serialport/qserialportinfo_mac.cpp @@ -64,7 +64,11 @@ static QCFType<CFTypeRef> searchProperty(io_registry_entry_t ioRegistryEntry, static QString searchStringProperty(io_registry_entry_t ioRegistryEntry, const QCFString &propertyKey) { - return QCFString::toQString(searchProperty(ioRegistryEntry, propertyKey).as<CFStringRef>()); + const QCFType<CFTypeRef> result(searchProperty(ioRegistryEntry, propertyKey)); + const CFStringRef ref = result.as<CFStringRef>(); + if (ref && (::CFGetTypeID(ref) == ::CFStringGetTypeID())) + return QCFString::toQString(ref); + return QString(); } static quint16 searchShortIntProperty(io_registry_entry_t ioRegistryEntry, |