diff options
-rw-r--r-- | core/dive.c | 10 | ||||
-rw-r--r-- | core/dive.h | 1 | ||||
-rw-r--r-- | core/divelist.c | 9 |
3 files changed, 20 insertions, 0 deletions
diff --git a/core/dive.c b/core/dive.c index 65398cade..e1bf92e0a 100644 --- a/core/dive.c +++ b/core/dive.c @@ -17,6 +17,10 @@ #include "tag.h" #include "trip.h" #include "structured_list.h" +#ifndef SUBSURFACE_MOBILE +#include "fulltext.h" +#endif + /* one could argue about the best place to have this variable - * it's used in the UI, but it seems to make the most sense to have it @@ -356,6 +360,9 @@ static void free_dive_structures(struct dive *d) { if (!d) return; +#ifndef SUBSURFACE_MOBILE + fulltext_unregister(d); +#endif /* free the strings */ free(d->buddy); free(d->divemaster); @@ -401,6 +408,9 @@ static void copy_dive_nodc(const struct dive *s, struct dive *d) *d = *s; memset(&d->cylinders, 0, sizeof(d->cylinders)); memset(&d->weightsystems, 0, sizeof(d->weightsystems)); +#ifndef SUBSURFACE_MOBILE + d->full_text = NULL; +#endif invalidate_dive_cache(d); d->buddy = copy_string(s->buddy); d->divemaster = copy_string(s->divemaster); diff --git a/core/dive.h b/core/dive.h index 345eb5073..a57021976 100644 --- a/core/dive.h +++ b/core/dive.h @@ -140,6 +140,7 @@ struct dive_site; struct dive_site_table; struct dive_trip; struct trip_table; +struct full_text_cache; struct dive { struct dive_trip *divetrip; timestamp_t when; diff --git a/core/divelist.c b/core/divelist.c index 6995c4c50..5a60594d7 100644 --- a/core/divelist.c +++ b/core/divelist.c @@ -5,6 +5,7 @@ #include "deco.h" #include "divesite.h" #include "divelist.h" +#include "fulltext.h" #include "planner.h" #include "qthelper.h" #include "gettext.h" @@ -829,6 +830,10 @@ void process_loaded_dives() /* Autogroup dives if desired by user. */ autogroup_dives(&dive_table, &trip_table); + +#ifndef SUBSURFACE_MOBILE + fulltext_reload(); +#endif } /* @@ -1338,6 +1343,10 @@ int get_dive_id_closest_to(timestamp_t when) void clear_dive_file_data() { +#ifndef SUBSURFACE_MOBILE + fulltext_unregister_all(); +#endif + while (dive_table.nr) delete_single_dive(0); current_dive = NULL; |