diff --git a/src/power/linux/SDL_syspower.c b/src/power/linux/SDL_syspower.c index 3b9ab1ba9..92a66ba97 100644 --- a/src/power/linux/SDL_syspower.c +++ b/src/power/linux/SDL_syspower.c @@ -565,6 +565,8 @@ check_upower_device(DBusConnection *conn, const char *path, SDL_PowerState *stat return; } else if (!ui32) { st = SDL_POWERSTATE_NO_BATTERY; + } else if (!SDL_DBus_CallMethodOnConnection(conn, UPOWER_DBUS_NODE, path, UPOWER_DEVICE_DBUS_INTERFACE, "Refresh", DBUS_TYPE_INVALID)) { + return; } else if (!SDL_DBus_QueryPropertyOnConnection(conn, UPOWER_DBUS_NODE, path, UPOWER_DEVICE_DBUS_INTERFACE, "State", DBUS_TYPE_UINT32, &ui32)) { st = SDL_POWERSTATE_UNKNOWN; /* uh oh */ } else if (ui32 == 1) { /* 1 == charging */