From f430da01e549c62fe516fd8ab675c1338b53de6f Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 9 Mar 2020 14:03:03 -0500 Subject: [PATCH] fu-engine: Copy the VersionFormat from the CAB if specified in `get-details` --- src/fu-engine.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/fu-engine.c b/src/fu-engine.c index 14e0064ca..1d2e5dc76 100644 --- a/src/fu-engine.c +++ b/src/fu-engine.c @@ -2812,10 +2812,8 @@ fu_engine_md_refresh_device_verfmt (FuEngine *self, FuDevice *device, XbNode *co } static void -fu_engine_md_refresh_device (FuEngine *self, FuDevice *device) +fu_engine_md_refresh_device_from_component (FuEngine *self, FuDevice *device, XbNode *component) { - g_autoptr(XbNode) component = fu_engine_get_component_by_guids (self, device); - /* set or clear the SUPPORTED flag */ fu_engine_md_refresh_device_supported (self, device, component); @@ -2836,7 +2834,8 @@ fu_engine_md_refresh_devices (FuEngine *self) g_autoptr(GPtrArray) devices = fu_device_list_get_all (self->device_list); for (guint i = 0; i < devices->len; i++) { FuDevice *device = g_ptr_array_index (devices, i); - fu_engine_md_refresh_device (self, device); + g_autoptr(XbNode) component = fu_engine_get_component_by_guids (self, device); + fu_engine_md_refresh_device_from_component (self, device, component); } } @@ -3243,6 +3242,7 @@ fu_engine_get_result_from_component (FuEngine *self, XbNode *component, GError * fu_device_set_name (dev, fu_device_get_name (device)); fu_device_set_flags (dev, fu_device_get_flags (device)); fu_device_set_id (dev, fu_device_get_id (device)); + fu_device_set_version_raw (dev, fu_device_get_version_raw (device)); fu_device_set_version_format (dev, fu_device_get_version_format (device)); fu_device_set_version (dev, fu_device_get_version (device)); } @@ -3380,6 +3380,7 @@ fu_engine_get_details (FuEngine *self, gint fd, GError **error) fwupd_release_set_remote_id (rel, remote_id); fu_device_add_flag (dev, FWUPD_DEVICE_FLAG_SUPPORTED); } + fu_engine_md_refresh_device_from_component (self, dev, component); g_ptr_array_add (details, dev); } return g_steal_pointer (&details);