divecomputer: add device_table pointer to device_data_t

In one weird case (suunto), the code in libdivecomputer.c
generates a device node directly instead of going the usual
way (setting the data in the dc-structure of the imported
dive). It is unclear to me whether that has to be that way,
as it depends on the chronological order of callbacks to
event_cb() and dive_cb().

Therefore add a device_table pointer to device_data_t
so that the downloader can add the device to this table. This
only adds the pointer, but does not yet use it in the
downloading code.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-10-19 19:19:32 +02:00 committed by Dirk Hohndel
parent 5a19437311
commit 2bcb3d88a0
5 changed files with 9 additions and 0 deletions

View file

@ -129,6 +129,7 @@ void DiveImportedModel::downloadThreadFinished()
// Move the table data from thread to model
move_dive_table(&thread.downloadTable, &diveTable);
move_dive_site_table(&thread.diveSiteTable, &sitesTable);
deviceTable = std::move(thread.deviceTable);
checkStates.resize(diveTable.nr);
std::fill(checkStates.begin(), checkStates.end(), true);