From 0746afa0c21b54c95e2d6ae0f197a73fddab3a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 8 Feb 2024 10:43:47 +0800 Subject: [PATCH] PowerAdapter (macOS): don't show `not connected` if no power adapter is detected --- .../poweradapter/poweradapter_apple.c | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/detection/poweradapter/poweradapter_apple.c b/src/detection/poweradapter/poweradapter_apple.c index ab35a7ad6..1a1b6866b 100644 --- a/src/detection/poweradapter/poweradapter_apple.c +++ b/src/detection/poweradapter/poweradapter_apple.c @@ -7,18 +7,18 @@ const char* ffDetectPowerAdapter(FFlist* results) { - FFPowerAdapterResult* adapter = ffListAdd(results); - - ffStrbufInit(&adapter->name); - ffStrbufInit(&adapter->description); - ffStrbufInit(&adapter->manufacturer); - ffStrbufInit(&adapter->modelName); - ffStrbufInit(&adapter->serial); - adapter->watts = FF_POWERADAPTER_NOT_CONNECTED; - FF_CFTYPE_AUTO_RELEASE CFDictionaryRef details = IOPSCopyExternalPowerAdapterDetails(); - if (details) + if (details && CFDictionaryContainsKey(details, CFSTR(kIOPSPowerAdapterWattsKey))) { + FFPowerAdapterResult* adapter = ffListAdd(results); + + ffStrbufInit(&adapter->name); + ffStrbufInit(&adapter->description); + ffStrbufInit(&adapter->manufacturer); + ffStrbufInit(&adapter->modelName); + ffStrbufInit(&adapter->serial); + adapter->watts = FF_POWERADAPTER_NOT_CONNECTED; + ffCfDictGetString(details, CFSTR(kIOPSNameKey), &adapter->name); if (ffCfDictGetString(details, CFSTR("Model"), &adapter->modelName) != NULL) {