subsurface/core
Berthold Stoeger c65617661a Dive pictures: fix loading of remote images without local version
Owing to the recent churn in imagedownloader.cpp, some of the
code was bogus.

Notably, in f60343eebb the code
was changed such that always the local filename was used to access
the images. Yet, the old code remained, which after failure tried
again to access the local picture. This second access can obviously
be removed completely.

More seriously, after failing to load the local version, no
attempt was made to fetch the image via canonical filename. This
could produce the following sequence of events:
  - Import remote image
  - Delete thumbnail and local cache of image
  - Image loading would fail

Therefore, first try to load using local file-location. If
that fails, load using the canonical file-location. To do
so, split the file-access code in two functions. The code
should now be distinctly easier to follow.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-22 00:26:02 +03:00
..
subsurface-qt Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
android.cpp Cleanup: introduce copy_qstring() function 2018-03-14 13:55:36 +02:00
btdiscovery.cpp core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
btdiscovery.h Cleanup: Use QString as parameter for [get|save]BtDeviceInfo() 2018-02-26 08:52:34 +01:00
checkcloudconnection.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
checkcloudconnection.h Remove self-include of core/checkcloudconnection.h 2017-12-06 02:23:47 +01:00
cloudstorage.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
cloudstorage.h Remove bogus member that hides global variable 2017-10-26 20:44:02 +02:00
CMakeLists.txt build-system: don't always build qtserialbluetooth.cpp 2018-05-19 16:49:05 -07:00
cochran.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp Fix CCR setpoint display bug 2018-05-07 13:56:23 +02:00
color.h Plot OC-pO2 graph for SCR dives 2018-04-28 20:11:22 +03:00
compressibility.r Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
configuredivecomputer.cpp Actually tie in the new libdivecomputer IO model to open the dive computer device 2018-04-24 17:54:08 -07:00
configuredivecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
configuredivecomputerthreads.cpp core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
configuredivecomputerthreads.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
connectionlistmodel.cpp core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
connectionlistmodel.h Add function to clear connectionModel data 2017-10-12 09:32:12 +02:00
datatrak.c Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
datatrak.h Datatrak import rework: Add another memory size ckeck 2017-05-07 07:48:12 -07:00
deco.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
deco.h Localize global planner state 2017-11-25 20:13:01 +01:00
device.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
device.h Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
devicedetails.cpp Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
devicedetails.h Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
display.h Display values in info box only if value is interesting 2017-11-13 20:50:10 -08:00
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 Unused code: remove trip_has_selected_dives() 2018-01-10 16:45:42 +01:00
divelogexportlogic.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divelogexportlogic.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divesite-helper.cpp Cleanup: rename file to avoid confusion 2017-12-08 16:29:49 +01:00
divesite.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
divesite.h Tags for geo references: Nicer look, translations and warning message 2017-10-17 06:12:07 -04:00
divesitehelpers.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divesitehelpers.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
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 Make report_error() reentrant 2018-01-31 14:47:26 +01:00
exif.cpp Coding-style: remove superfluous parentheses 2018-02-17 19:38:52 -08:00
exif.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
file.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
file.h Make a few functions of static linkage 2018-01-08 09:52:55 +02: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 Compute and display gas density 2017-05-26 15:52:04 -07:00
gaspressures.c Provide correct cylinder pressures for bailout dives 2018-06-08 17:07:20 +03:00
gaspressures.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettext.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.cpp Remove superfluous QScopedPointer<>s in singletons 2017-12-24 11:04:10 -08:00
gettextfromc.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
git-access.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
git-access.h Support non-https:// repositories for saving 2018-01-19 09:45:08 +02:00
gpslocation.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
gpslocation.h GPS: add signal to show that a new fix has been acquired 2018-04-14 13:37:44 -07:00
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 core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
import-csv.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
import-csv.h Make a few functions of static linkage 2018-01-08 09:52:55 +02:00
import-divinglog.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
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 core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
isocialnetworkintegration.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
isocialnetworkintegration.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
libdivecomputer.c FTDI support: try ftdi_open first if the device name is 'ftdi' 2018-06-21 16:16:29 +09:00
libdivecomputer.h Create one function to determine the supported transports 2018-04-27 11:52:48 -07:00
linux.c Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
liquivision.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
load-git.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
macos.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
membuffer.c Localization: Make Qt's locale-aware formatting accessible from C 2018-03-05 16:23:55 +01:00
membuffer.h Add usage documentation for membuffer helper functions 2018-04-10 08:18:32 -07:00
metadata.cpp Dive pictures: extract timestamp from MP4 and related formats 2018-04-01 16:04:48 +03:00
metadata.h Dive pictures: use get_metadata() in dive_create_picture() 2018-04-01 16:04:48 +03:00
metrics.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
metrics.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
ostctools.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
parse-xml.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
parse.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
parse.h Don't define cur_setting in header file 2018-01-05 00:29:20 +01:00
planner.c equipment: sanitize 'tank_info' loop limits 2018-06-20 09:30:58 +09:00
planner.h Move planner notes to separate file 2017-05-26 15:44:36 -07:00
plannernotes.c Plannernotes: '\0'-terminate ICD-buffer 2018-05-18 15:11:04 +03:00
pluginmanager.cpp Unused code: remove PluginManager::socialNetworkIntegrationPlugins() 2018-01-10 16:45:42 +01:00
pluginmanager.h Unused code: remove PluginManager::socialNetworkIntegrationPlugins() 2018-01-10 16:45:42 +01:00
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 core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
profile.h Plot OC-pO2 graph for SCR dives 2018-04-28 20:11:22 +03:00
qt-ble.cpp qt-ble: purge pending read data when writing 2018-06-20 16:38:04 +09:00
qt-ble.h Convert our custom IO model to new libdivecomputer IO model 2018-04-24 17:54:08 -07:00
qt-gui.h Remove dead code 2017-11-19 12:20:43 -08:00
qt-init.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
qthelper.cpp Dive pictures: remove cache_picture() call in dive_add_picture() 2018-06-07 18:41:32 +02:00
qthelper.h Dive pictures: remove cache_picture() call in dive_add_picture() 2018-06-07 18:41:32 +02:00
qtserialbluetooth.cpp core: replace (void) with no parameter name 2018-05-24 08:34:14 -07:00
save-git.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
save-html.c Cleanup: Unify qthelper.h and qthelperfromc.h 2018-02-26 19:06:02 +02:00
save-html.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
save-xml.c Bugfix: Saving divemode to xml and to git 2018-05-17 07:35:58 -07:00
serial_ftdi.c Convert our custom IO model to new libdivecomputer IO model 2018-04-24 17:54:08 -07:00
sha1.c Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
sha1.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
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 Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurfacestartup.c Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
subsurfacestartup.h Fix ownership issues in preferences code 2017-11-25 07:41:09 -08:00
subsurfacesysinfo.cpp Random whitespace cleanup 2017-05-27 11:07:20 -07:00
subsurfacesysinfo.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
taxonomy.c Fix two bugs in taxonomy_set_country 2017-10-07 08:16:53 -07:00
taxonomy.h Add taxonomy helper functions 2017-10-04 08:05:09 -07:00
time.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
uemis-downloader.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
uemis.c Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
uemis.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
units.h core: removed clang warnings from units.h 2018-05-18 21:27:37 +03:00
version.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
version.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
webservice.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windows.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
windowtitleupdate.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windowtitleupdate.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
worldmap-options.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.c Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
worldmap-save.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00