subsurface/core
Berthold Stoeger 087a80194a Import: keep dive and dive site tables in DiveImportedModel
The DiveImportedModel and DownloadThread used the same table
of dives and dive sites. This made it very hard to keep the
model consistent: Every modification of the download thread
would make the model inconsistent and could lead to memory
corruption owing to dangling pointers.

Therefore, keep a copy in the model. When updating the model,
use move-semantics, i.e. move the data and reset the tables
of the thread to zero elements.

Since the DiveImportedModel and the DownloadThread are very
tightly integrated, remove the accessor-functions of the
dive and dive-site tables. They fulfilled no purpose
whatsoever as they gave the same access-rights as a public
field.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-10-02 08:04:49 -07:00
..
settings Cleanup: move deco function declarations to deco.h 2019-07-18 05:42:55 -07:00
subsurface-qt Grantlee: split out grantlee-only property from DiveObjectHelper 2019-09-14 13:20:59 +02:00
android.cpp Android: print Android HW information 2019-09-21 15:13:10 -07:00
applicationstate.cpp Turn application state into enum 2019-05-12 12:33:55 -07:00
applicationstate.h Turn application state into enum 2019-05-12 12:33:55 -07:00
btdiscovery.cpp Revert the singleton PR 2019-09-27 16:26:58 -07:00
btdiscovery.h Revert the singleton PR 2019-09-27 16:26:58 -07:00
checkcloudconnection.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
checkcloudconnection.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
cochran.c Core: pass dive, cylinder-id to fill_default_cylinder 2019-08-08 16:26:31 -07:00
cochran.h
color.cpp Cleanup: silence clang missing braces warning in core/color.cpp 2018-09-01 11:31:18 -07:00
color.h Indicate negative cylider pressure 2019-08-08 08:56:44 -07:00
compressibility.r
configuredivecomputer.cpp Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
configuredivecomputer.h Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
configuredivecomputerthreads.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
configuredivecomputerthreads.h
connectionlistmodel.cpp Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c Parser: remove global state 2019-08-08 16:26:31 -07:00
deco.h Parser: remove global state 2019-08-08 16:26:31 -07:00
device.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
device.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
devicedetails.cpp
devicedetails.h
display.h Cleanup: remove unused get_screen_dpi() function 2019-07-06 04:10:14 -07:00
dive.c Cleanup: make table argument to get_dive_from_table() const 2019-10-02 08:04:49 -07:00
dive.h Cleanup: make table argument to get_dive_from_table() const 2019-10-02 08:04:49 -07:00
divecomputer.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divecomputer.h Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divelist.c Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
divelist.h Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
divelogexportlogic.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite-helper.cpp Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
divesite.c Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
divesite.h Cleanup: remove dive_table and dive_site_table Q_METATYPEs 2019-10-02 08:04:49 -07:00
divesitehelpers.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divesitehelpers.h Geo lookup: don't pass arguments / result via global object 2018-10-11 16:25:02 -07:00
downloadfromdcthread.cpp Import: keep dive and dive site tables in DiveImportedModel 2019-10-02 08:04:49 -07:00
downloadfromdcthread.h Import: keep dive and dive site tables in DiveImportedModel 2019-10-02 08:04:49 -07:00
equipment.c Cleanup: remove unused weightsystem_none() function 2019-07-18 06:01:07 -07:00
equipment.h Cleanup: remove unused weightsystem_none() function 2019-07-18 06:01:07 -07:00
errorhelper.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
exif.cpp
exif.h
file.c Fix potential crash when saved_git_id is NULL 2019-08-10 20:59:53 +02:00
file.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
format.cpp Cleanup: Slightly shorten code in vqasprintf_loc() 2018-04-09 11:29:43 -07:00
format.h Cleanup: Move *_loc formatting functions into new format.cpp file 2018-04-09 11:29:43 -07:00
gas-model.c Cleanup: replace macro by inline function in gas-model.c 2019-08-08 15:22:09 -07:00
gas.c Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gas.h Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gaspressures.c Cleanup: introduce function to set pressure values 2019-07-18 05:50:22 -07:00
gaspressures.h Cleanup: Make gaspressures.h a regular include file 2019-06-19 13:11:10 -07:00
gettext.h
gettextfromc.cpp Localization: make cache thread safe and robust against use-after-free 2018-06-24 20:31:14 +02:00
gettextfromc.h Localization: remove gettextFromC::instance() 2018-06-24 20:31:14 +02:00
git-access.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
git-access.h prefs: git_local_only is not a preference 2018-09-10 16:26:49 -07:00
gpslocation.cpp Revert the singleton PR 2019-09-27 16:26:58 -07:00
gpslocation.h Revert the singleton PR 2019-09-27 16:26:58 -07:00
imagedownloader.cpp Core: remove variable name conflict 2019-03-18 19:40:32 -07:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
import-csv.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
import-csv.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-divinglog.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
import-shearwater.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-suunto.c Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
ios.cpp Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
libdivecomputer.c Add 'download_error()' helper for libdivecomputer download error reporting 2019-09-11 21:51:39 +01:00
libdivecomputer.h Core: unconditionally include stdio.h in libdivecomputer.h 2019-08-10 09:16:01 -07:00
liquivision.c Core: pass dive, cylinder-id to fill_default_cylinder 2019-08-08 16:26:31 -07:00
load-git.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
macos.c Add missing header files to macos.c 2019-08-11 08:20:38 +02:00
membuffer.c Cleanup: make location argument to put_location() const 2019-09-21 16:07:24 -07:00
membuffer.h Cleanup: make location argument to put_location() const 2019-09-21 16:07:24 -07:00
metadata.cpp Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp
metrics.h
ostctools.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
parse-xml.c Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
parse.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
parse.h Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
planner.c Show correct notes entry when switching on stops 2019-09-11 14:55:33 +01:00
planner.h Cleanup: remove global disclaimer variable 2019-09-10 21:31:21 +02:00
plannernotes.c Cleanup and correct plannernotes html 2019-09-11 17:21:50 +01:00
pref.h Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
profile.c Profile: properly initialize plot_info structures 2019-08-28 07:10:09 -07:00
profile.h Profile: properly initialize plot_info structures 2019-08-28 07:10:09 -07:00
qt-ble.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
qt-ble.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
qt-gui.h core,tests: change qml register function 2018-09-11 17:22:58 -07:00
qt-init.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
qthelper.cpp Android: bundle default font for use in OnePlus devices 2019-09-21 15:13:10 -07:00
qthelper.h Mobile: decouple full text search from DiveObjectHelper 2019-09-14 13:20:59 +02:00
qtserialbluetooth.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
save-git.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-html.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Profile: properly initialize plot_info structures 2019-08-28 07:10:09 -07:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c Export: move dive site selection logic to C++ 2019-09-21 16:07:24 -07:00
serial_ftdi.c Fix Cressi interface ftdi opening bug 2018-11-18 20:01:28 +02:00
sha1.c
sha1.h
ssrf.h mobile: add timer to measure startup. 2018-05-30 21:47:07 -07:00
statistics.c Cleanup: move trip-related functions into own translation unit 2019-06-19 13:11:10 -07:00
statistics.h Add backend support for statistics by depth and temperature 2019-03-12 00:53:51 +01:00
strndup.h
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
structured_list.h Cleanup: fix comment to STRUCTURED_LIST_FREE 2019-06-19 13:11:10 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurfacestartup.c Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
subsurfacestartup.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
subsurfacesysinfo.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
subsurfacesysinfo.h drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
table.h Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
tag.c Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
taxonomy.h Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
time.c
trip.c Core: add unique id to trip 2019-09-21 16:12:23 -07:00
trip.h Core: add unique id to trip 2019-09-21 16:12:23 -07:00
uemis-downloader.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
uemis.c Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
units.h Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
unix.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
version.c
version.h
videoframeextractor.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h
windows.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
windowtitleupdate.cpp Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
windowtitleupdate.h Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
worldmap-options.h
worldmap-save.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
worldmap-save.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
xmp_parser.cpp Desktop: fix yet another variable name conflict 2019-03-18 19:40:32 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00