subsurface/core
Berthold Stoeger db0dd54c37 Localization: make cache thread safe and robust against use-after-free
The old trGettext() was not thread-safe and the returned C-strings
could be freed in the case of empty translations strings. Therefore:

1) Introduce a mutex protecting access to the cache.

2) Never change existing entries, even if the translation string is empty.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-24 20:31:14 +02:00
..
subsurface-qt Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
android.cpp
btdiscovery.cpp
btdiscovery.h
checkcloudconnection.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
checkcloudconnection.h
cloudstorage.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
cloudstorage.h
CMakeLists.txt
cochran.c
cochran.h
color.cpp
color.h
compressibility.r
configuredivecomputer.cpp
configuredivecomputer.h
configuredivecomputerthreads.cpp
configuredivecomputerthreads.h
connectionlistmodel.cpp
connectionlistmodel.h
datatrak.c
datatrak.h
deco.c
deco.h
device.c
device.h
devicedetails.cpp
devicedetails.h
display.h
dive.c core: add free_samples helper 2018-06-20 09:27:11 +09:00
dive.h equipment: sanitize 'ws_info' loop limits 2018-06-20 09:30:58 +09:00
divecomputer.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputer.h Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divelist.c Don't compute SAC if total gas use is unknown 2018-05-28 09:57:00 +02:00
divelist.h
divelogexportlogic.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divelogexportlogic.h
divesite-helper.cpp
divesite.c
divesite.h
divesitehelpers.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divesitehelpers.h
downloadfromdcthread.cpp core: print the correct message code for download failures 2018-06-21 16:15:48 +09:00
downloadfromdcthread.h core: remove qml properties from downloadfromcthread 2018-06-09 21:19:46 +02:00
equipment.c equipment: use MAX_TANK_INFO in equipment.c 2018-06-20 09:30:58 +09:00
errorhelper.c
exif.cpp
exif.h
file.c
file.h
format.cpp
format.h
gas-model.c
gaspressures.c Provide correct cylinder pressures for bailout dives 2018-06-08 17:07:20 +03:00
gaspressures.h
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
git-access.h
gpslocation.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
gpslocation.h
imagedownloader.cpp Dive pictures: fix loading of remote images without local version 2018-06-22 00:26:02 +03:00
imagedownloader.h Dive pictures: Make failure of loading images less noisy 2018-06-13 08:35:23 -07:00
import-cobalt.c
import-csv.c
import-csv.h
import-divinglog.c
import-shearwater.c Remove unnecessary {} 2018-05-27 23:18:01 +03:00
import-suunto.c DM5 import: support for larger sample size 2018-06-15 17:45:33 -07:00
ios.cpp
isocialnetworkintegration.cpp
isocialnetworkintegration.h
libdivecomputer.c FTDI support: try ftdi_open first if the device name is 'ftdi' 2018-06-21 16:16:29 +09:00
libdivecomputer.h
linux.c Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
liquivision.c
load-git.c
macos.c
membuffer.c
membuffer.h
metadata.cpp
metadata.h
metrics.cpp
metrics.h
ostctools.c
parse-xml.c
parse.c
parse.h
planner.c Fix interpretation of dive mode changes upon replan 2018-06-24 09:35:55 +02:00
planner.h
plannernotes.c Make planner notes divemode aware... 2018-06-24 09:35:55 +02:00
pluginmanager.cpp
pluginmanager.h
pref.h Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
prefs-macros.h core: make prefs-macros compile safe. 2018-06-15 14:11:57 -07:00
profile.c
profile.h
qt-ble.cpp qt-ble: purge pending read data when writing 2018-06-20 16:38:04 +09:00
qt-ble.h
qt-gui.h
qt-init.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
qthelper.cpp Localization: don't go via C-string in qthelper.cpp 2018-06-24 20:31:14 +02:00
qthelper.h Dive pictures: remove cache_picture() call in dive_add_picture() 2018-06-07 18:41:32 +02:00
qtserialbluetooth.cpp
save-git.c
save-html.c
save-html.h
save-xml.c
serial_ftdi.c
sha1.c
sha1.h
ssrf.h mobile: add timer to measure startup. 2018-05-30 21:47:07 -07:00
statistics.c Fix an error around translation of dive modes in the UI 2018-06-17 06:36:20 +09:00
statistics.h Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
strndup.h
strtod.c
subsurface-string.h
subsurfacestartup.c Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
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