From 38fb56cab1a2d16ac69da4c8b3eef99cedff0434 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Thu, 1 Feb 2018 22:07:52 +0000 Subject: [PATCH] trivial: Ensure the pending firmware has the new version set correctly This is only important if the pending update fails to be scheduled, and then we need the new version for the history database. --- src/fu-plugin.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/fu-plugin.c b/src/fu-plugin.c index cfde92523..ade34cd5c 100644 --- a/src/fu-plugin.c +++ b/src/fu-plugin.c @@ -1055,12 +1055,13 @@ fu_plugin_runner_schedule_update (FuPlugin *plugin, GBytes *blob_cab, GError **error) { + FwupdRelease *release; gchar tmpname[] = {"XXXXXX.cap"}; g_autofree gchar *dirname = NULL; g_autofree gchar *filename = NULL; g_autoptr(FuDevice) res_tmp = NULL; g_autoptr(FuHistory) history = NULL; - g_autoptr(FwupdRelease) release = fwupd_release_new (); + g_autoptr(FwupdRelease) release_tmp = fwupd_release_new (); g_autoptr(GFile) file = NULL; /* id already exists */ @@ -1099,11 +1100,13 @@ fu_plugin_runner_schedule_update (FuPlugin *plugin, /* schedule for next boot */ g_debug ("schedule %s to be installed to %s on next boot", filename, fu_device_get_id (device)); - fwupd_release_set_filename (release, filename); + release = fu_device_get_release_default (device); + fwupd_release_set_version (release_tmp, fwupd_release_get_version (release)); + fwupd_release_set_filename (release_tmp, filename); /* add to database */ fu_device_set_update_state (device, FWUPD_UPDATE_STATE_PENDING); - if (!fu_history_add_device (history, device, release, error)) + if (!fu_history_add_device (history, device, release_tmp, error)) return FALSE; /* next boot we run offline */