summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/dive.c10
-rw-r--r--core/dive.h1
-rw-r--r--core/divelist.c9
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;