mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Tank icons were shown at incorrect spots on the profile when the DiveEventItem object held a pointer to a struct event even after the struct event at that address had been freed. When internalEvent is a pointer to freed memory, internalEvent->time.seconds could have all kinds of crazy values, which get used in member function DiveEventItem::recalculatePos to place the tank at bad x coordinates. The DiveEventItem(s) no longer store a pointer to memory that they do not own. This way, no matter how the path of execution arrives into slot recalculatePos, we never need fear that the DiveEventItem will dereference a garbage pointer to a struct event. Fixes #968 Signed-off-by: K. Heller <pestophagous@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org> |
||
---|---|---|
.. | ||
android.cpp | ||
checkcloudconnection.cpp | ||
checkcloudconnection.h | ||
CMakeLists.txt | ||
cochran.c | ||
cochran.h | ||
color.cpp | ||
color.h | ||
configuredivecomputer.cpp | ||
configuredivecomputer.h | ||
configuredivecomputerthreads.cpp | ||
configuredivecomputerthreads.h | ||
datatrak.c | ||
datatrak.h | ||
deco.c | ||
deco.h | ||
device.c | ||
device.h | ||
devicedetails.cpp | ||
devicedetails.h | ||
display.h | ||
dive.c | ||
dive.h | ||
divecomputer.cpp | ||
divecomputer.h | ||
divelist.c | ||
divelist.h | ||
divelogexportlogic.cpp | ||
divelogexportlogic.h | ||
divesite.c | ||
divesite.cpp | ||
divesite.h | ||
divesitehelpers.cpp | ||
divesitehelpers.h | ||
equipment.c | ||
exif.cpp | ||
exif.h | ||
file.c | ||
file.h | ||
gaspressures.c | ||
gaspressures.h | ||
gettext.h | ||
gettextfromc.cpp | ||
gettextfromc.h | ||
git-access.c | ||
git-access.h | ||
gpslocation.cpp | ||
gpslocation.h | ||
helpers.h | ||
imagedownloader.cpp | ||
imagedownloader.h | ||
isocialnetworkintegration.cpp | ||
isocialnetworkintegration.h | ||
libdivecomputer.c | ||
libdivecomputer.h | ||
linux.c | ||
liquivision.c | ||
load-git.c | ||
macos.c | ||
membuffer.c | ||
membuffer.h | ||
metrics.cpp | ||
metrics.h | ||
ostctools.c | ||
parse-xml.c | ||
planner.c | ||
planner.h | ||
pluginmanager.cpp | ||
pluginmanager.h | ||
pref.h | ||
prefs-macros.h | ||
profile.c | ||
profile.h | ||
qt-gui.h | ||
qt-init.cpp | ||
qthelper.cpp | ||
qthelper.h | ||
qthelperfromc.h | ||
qtserialbluetooth.cpp | ||
save-git.c | ||
save-html.c | ||
save-html.h | ||
save-xml.c | ||
serial_ftdi.c | ||
sha1.c | ||
sha1.h | ||
statistics.c | ||
statistics.h | ||
strndup.h | ||
strtod.c | ||
subsurfacestartup.c | ||
subsurfacestartup.h | ||
subsurfacesysinfo.cpp | ||
subsurfacesysinfo.h | ||
taxonomy.c | ||
taxonomy.h | ||
time.c | ||
uemis-downloader.c | ||
uemis.c | ||
uemis.h | ||
units.h | ||
version.c | ||
version.h | ||
webservice.h | ||
windows.c | ||
windowtitleupdate.cpp | ||
windowtitleupdate.h | ||
worldmap-options.h | ||
worldmap-save.c | ||
worldmap-save.h |