diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2017-12-11 23:20:18 +0100 |
---|---|---|
committer | Jan Mulder <jlmulder@xs4all.nl> | 2018-01-08 12:01:04 +0100 |
commit | 099662023c89f5bb0a3e2e1b803de22d56b20f6b (patch) | |
tree | 745fc10122feef73b2d89ffacc75af6eb9560186 | |
parent | 35b5b9282f5d2068651dee7eb3993978fc258ac7 (diff) | |
download | subsurface-099662023c89f5bb0a3e2e1b803de22d56b20f6b.tar.gz |
Move resetting of current file out of clear_dive_file_data()
This is the only case where C-code sets the current file.
Remove this call for a better separation of C-backend and
C++-frontend parts.
There were four callers of clear_dive_file_data(). Two of them
would call set_filename() anyway. For the remaining two add an
explicit call to set_filename().
This commit fixes a bug introduced in commit b3901aa8f90499ee2a34efdddc2463105afc53f1:
The cloud-online menu entry was still enabled after "closing" the
cloud storage.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | core/divelist.c | 3 | ||||
-rw-r--r-- | desktop-widgets/mainwindow.cpp | 1 | ||||
-rw-r--r-- | mobile-widgets/qmlmanager.cpp | 1 |
3 files changed, 2 insertions, 3 deletions
diff --git a/core/divelist.c b/core/divelist.c index 7c3201a3d..87151558a 100644 --- a/core/divelist.c +++ b/core/divelist.c @@ -1426,9 +1426,6 @@ void clear_dive_file_data() clear_dive(&displayed_dive); clear_dive_site(&displayed_dive_site); - free((void *)existing_filename); - existing_filename = NULL; - reset_min_datafile_version(); saved_git_id = ""; } diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index 4aa4aa1b6..b13980c85 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -746,6 +746,7 @@ void MainWindow::closeCurrentFile() /* free the dives and trips */ clear_git_id(); clear_dive_file_data(); + setCurrentFile(NULL); cleanUpEmpty(); mark_divelist_changed(false); diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index 697d71dc8..296243f7e 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -602,6 +602,7 @@ void QMLManager::loadDivesWithValidCredentials() appendTextToLog(errorString); setNotificationText(errorString); revertToNoCloudIfNeeded(); + set_filename(NULL); return; } consumeFinishedLoad(currentDiveTimestamp); |