summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/serialport/qserialportinfo_mac.cpp6
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,