summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/netsurf.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/desktop/netsurf.c b/desktop/netsurf.c
index 0e93e036a..f66d35588 100644
--- a/desktop/netsurf.c
+++ b/desktop/netsurf.c
@@ -33,7 +33,9 @@ static void netsurf_init(int argc, char** argv);
static void netsurf_poll(void);
static void netsurf_exit(void);
static void lib_init(void);
+static void content_clean_wrapper(void *p);
+#define CONTENT_CLEAN_FREQ (500) /* cs */
/**
* Gui NetSurf main().
@@ -83,6 +85,8 @@ void netsurf_init(int argc, char** argv)
fetch_init();
fetchcache_init();
gui_init2(argc, argv);
+
+ schedule(CONTENT_CLEAN_FREQ, content_clean_wrapper, NULL);
}
/**
@@ -91,7 +95,6 @@ void netsurf_init(int argc, char** argv)
void netsurf_poll(void)
{
- content_clean();
gui_poll(fetch_active);
fetch_poll();
}
@@ -103,6 +106,8 @@ void netsurf_poll(void)
void netsurf_exit(void)
{
+ schedule_remove(content_clean_wrapper, NULL);
+
LOG(("Closing GUI"));
gui_quit();
LOG(("Closing content"));
@@ -130,3 +135,12 @@ static void lib_init(void)
}
+/**
+ * Wrapper for content cleaner callback
+ */
+static void content_clean_wrapper(void *p)
+{
+ content_clean();
+
+ schedule(CONTENT_CLEAN_FREQ, content_clean_wrapper, NULL);
+}