summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/device.h1
-rw-r--r--core/divecomputer.cpp5
-rw-r--r--core/divelist.c2
-rw-r--r--desktop-widgets/mainwindow.cpp5
-rw-r--r--dives/DL7.xml5
-rw-r--r--dives/TestDiveDM5.xml1
-rw-r--r--dives/TestDiveDivelogsDE.xml2
-rw-r--r--dives/TestDiveSeabearHUDC.xml2
-rw-r--r--dives/TestDiveSeabearNewFormat.xml2
-rw-r--r--dives/mergedVyperOstc.xml2
-rw-r--r--tests/testparse.cpp5
11 files changed, 9 insertions, 23 deletions
diff --git a/core/device.h b/core/device.h
index c1e767bee..65b715ba1 100644
--- a/core/device.h
+++ b/core/device.h
@@ -14,6 +14,7 @@ extern void set_dc_deviceid(struct divecomputer *dc, unsigned int deviceid);
extern void create_device_node(const char *model, uint32_t deviceid, const char *serial, const char *firmware, const char *nickname);
extern void call_for_each_dc(void *f, void (*callback)(void *, const char *, uint32_t,
const char *, const char *, const char *), bool select_only);
+extern void clear_device_nodes();
#ifdef __cplusplus
}
diff --git a/core/divecomputer.cpp b/core/divecomputer.cpp
index 9dfe5a373..369981d07 100644
--- a/core/divecomputer.cpp
+++ b/core/divecomputer.cpp
@@ -85,6 +85,11 @@ extern "C" void create_device_node(const char *model, uint32_t deviceid, const c
dcList.addDC(model, deviceid, nickname, serial, firmware);
}
+extern "C" void clear_device_nodes()
+{
+ dcList.dcs.clear();
+}
+
static bool compareDCById(const DiveComputerNode &a, const DiveComputerNode &b)
{
return a.deviceId < b.deviceId;
diff --git a/core/divelist.c b/core/divelist.c
index 994170570..c53bcb983 100644
--- a/core/divelist.c
+++ b/core/divelist.c
@@ -3,6 +3,7 @@
#include "subsurface-string.h"
#include "deco.h"
+#include "device.h"
#include "divesite.h"
#include "divelist.h"
#include "fulltext.h"
@@ -1367,6 +1368,7 @@ void clear_dive_file_data()
}
clear_dive(&displayed_dive);
+ clear_device_nodes();
reset_min_datafile_version();
clear_git_id();
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index d81a2f914..693d1f60f 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -18,7 +18,6 @@
#include "core/color.h"
#include "core/device.h"
-#include "core/divecomputer.h"
#include "core/divesitehelpers.h"
#include "core/errorhelper.h"
#include "core/file.h"
@@ -653,7 +652,7 @@ void MainWindow::closeCurrentFile()
{
/* free the dives and trips */
clear_git_id();
- MultiFilterSortModel::instance()->clear();
+ MultiFilterSortModel::instance()->clear(); // this clears all the core data structures
setCurrentFile(nullptr);
diveList->setSortOrder(DiveTripModelBase::NR, Qt::DescendingOrder);
MapWidget::instance()->reload();
@@ -663,8 +662,6 @@ void MainWindow::closeCurrentFile()
setFileClean();
clear_events();
-
- dcList.dcs.clear();
}
void MainWindow::updateCloudOnlineStatus()
diff --git a/dives/DL7.xml b/dives/DL7.xml
index 0687afa07..869da0022 100644
--- a/dives/DL7.xml
+++ b/dives/DL7.xml
@@ -1,10 +1,5 @@
<divelog program='subsurface' version='3'>
<settings>
-<divecomputerid model='Subsurface Divelog' deviceid='01234567' serial='3' nickname='Heinrichs Weikamp OSTC 3'/>
-<divecomputerid model='Vyper Air' deviceid='013749e4' serial='20400612'/>
-<divecomputerid model='Suunto Vyper Air' deviceid='11223344' serial='99999999'/>
-<divecomputerid model='Heinrichs Weikamp OSTC Sport' deviceid='abcdef00' serial='10000' firmware='10.31'/>
-<divecomputerid model='Vyper Air' deviceid='ffffffff' serial='20400612'/>
</settings>
<divesites>
</divesites>
diff --git a/dives/TestDiveDM5.xml b/dives/TestDiveDM5.xml
index a18f97578..cee358bf2 100644
--- a/dives/TestDiveDM5.xml
+++ b/dives/TestDiveDM5.xml
@@ -1,7 +1,6 @@
<divelog program='subsurface' version='3'>
<settings>
<divecomputerid model='Vyper Air' deviceid='013749e4' serial='20400612'/>
-<divecomputerid model='Vyper Air' deviceid='ffffffff' serial='20400612'/>
</settings>
<divesites>
</divesites>
diff --git a/dives/TestDiveDivelogsDE.xml b/dives/TestDiveDivelogsDE.xml
index fe56f858f..3baac8869 100644
--- a/dives/TestDiveDivelogsDE.xml
+++ b/dives/TestDiveDivelogsDE.xml
@@ -1,7 +1,5 @@
<divelog program='subsurface' version='3'>
<settings>
-<divecomputerid model='Vyper Air' deviceid='013749e4' serial='20400612'/>
-<divecomputerid model='Vyper Air' deviceid='ffffffff' serial='20400612'/>
</settings>
<divesites>
<site uuid='64785a00' name='USA, Hoodsport, WA / Sund Rock' gps='47.400269 -123.142632'>
diff --git a/dives/TestDiveSeabearHUDC.xml b/dives/TestDiveSeabearHUDC.xml
index 6c76492e7..0fde14fce 100644
--- a/dives/TestDiveSeabearHUDC.xml
+++ b/dives/TestDiveSeabearHUDC.xml
@@ -1,7 +1,5 @@
<divelog program='subsurface' version='3'>
<settings>
-<divecomputerid model='Vyper Air' deviceid='013749e4' serial='20400612'/>
-<divecomputerid model='Vyper Air' deviceid='ffffffff' serial='20400612'/>
</settings>
<divesites>
</divesites>
diff --git a/dives/TestDiveSeabearNewFormat.xml b/dives/TestDiveSeabearNewFormat.xml
index 6c8dd3b66..1647e609d 100644
--- a/dives/TestDiveSeabearNewFormat.xml
+++ b/dives/TestDiveSeabearNewFormat.xml
@@ -1,7 +1,5 @@
<divelog program='subsurface' version='3'>
<settings>
-<divecomputerid model='Vyper Air' deviceid='013749e4' serial='20400612'/>
-<divecomputerid model='Vyper Air' deviceid='ffffffff' serial='20400612'/>
</settings>
<divesites>
</divesites>
diff --git a/dives/mergedVyperOstc.xml b/dives/mergedVyperOstc.xml
index d35141a6e..c820fbed7 100644
--- a/dives/mergedVyperOstc.xml
+++ b/dives/mergedVyperOstc.xml
@@ -1,9 +1,7 @@
<divelog program='subsurface' version='3'>
<settings>
-<divecomputerid model='Vyper Air' deviceid='013749e4' serial='20400612'/>
<divecomputerid model='Suunto Vyper Air' deviceid='11223344' serial='99999999'/>
<divecomputerid model='Heinrichs Weikamp OSTC Sport' deviceid='abcdef00' serial='10000' firmware='10.31'/>
-<divecomputerid model='Vyper Air' deviceid='ffffffff' serial='20400612'/>
</settings>
<divesites>
</divesites>
diff --git a/tests/testparse.cpp b/tests/testparse.cpp
index 06c110acb..39e8a605d 100644
--- a/tests/testparse.cpp
+++ b/tests/testparse.cpp
@@ -286,11 +286,6 @@ void TestParse::testParseDLD()
fprintf(stderr, "number of dives from DLD: %d \n", dive_table.nr);
// Compare output
- /*
- * DC is not cleared from previous tests with the
- * clear_dive_file_data(), so we do have an additional DC nick
- * name field on the log.
- */
QCOMPARE(save_dives("./testdldout.ssrf"), 0);
FILE_COMPARE("./testdldout.ssrf",
SUBSURFACE_TEST_DATA "/dives/TestDiveDivelogsDE.xml")