mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: make find_next_visible_dive() member of dive_table
This function implicitely accessed the global divelog. To make that explicit make it a member of dive_table, such that the caller must access it via the global variable. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
4afefb1b9b
commit
e9a57ac5f5
4 changed files with 8 additions and 10 deletions
|
@ -1288,21 +1288,18 @@ timestamp_t get_surface_interval(timestamp_t when)
|
|||
|
||||
/* Find visible dive close to given date. First search towards older,
|
||||
* then newer dives. */
|
||||
struct dive *find_next_visible_dive(timestamp_t when)
|
||||
struct dive *dive_table::find_next_visible_dive(timestamp_t when)
|
||||
{
|
||||
if (divelog.dives.empty())
|
||||
return nullptr;
|
||||
|
||||
/* we might want to use binary search here */
|
||||
auto it = std::find_if(divelog.dives.begin(), divelog.dives.end(),
|
||||
auto it = std::find_if(begin(), end(),
|
||||
[when] (auto &d) { return d->when <= when; });
|
||||
|
||||
for (auto it2 = it; it2 != divelog.dives.begin(); --it2) {
|
||||
for (auto it2 = it; it2 != begin(); --it2) {
|
||||
if (!(*std::prev(it2))->hidden_by_filter)
|
||||
return it2->get();
|
||||
}
|
||||
|
||||
for (auto it2 = it; it2 != divelog.dives.end(); ++it2) {
|
||||
for (auto it2 = it; it2 != end(); ++it2) {
|
||||
if (!(*it2)->hidden_by_filter)
|
||||
return it2->get();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue