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.
This commit is contained in:
Richard Hughes 2018-02-01 22:07:52 +00:00
parent 41c1548674
commit 38fb56cab1

View File

@ -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 */