diff options
author | Vincent Sanders <vince@kyllikki.org> | 2019-10-24 22:20:57 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2019-10-24 22:20:57 +0100 |
commit | 699cc7deeebb2b148bbf32a2dd60098fdc6fd726 (patch) | |
tree | f4dc5e3b4796ed95bd70a795b56ed243e6eff643 | |
parent | bb60859535e92f16adbd63b8bba9b0ba6b5fb4b1 (diff) | |
download | netsurf-699cc7deeebb2b148bbf32a2dd60098fdc6fd726.tar.gz netsurf-699cc7deeebb2b148bbf32a2dd60098fdc6fd726.tar.bz2 |
ensure save_complete resources are correctly finalised before quit
-rw-r--r-- | desktop/save_complete.c | 7 | ||||
-rw-r--r-- | desktop/save_complete.h | 6 | ||||
-rw-r--r-- | frontends/gtk/gui.c | 6 |
3 files changed, 19 insertions, 0 deletions
diff --git a/desktop/save_complete.c b/desktop/save_complete.c index 4d98d2edb..7dc86c4d2 100644 --- a/desktop/save_complete.c +++ b/desktop/save_complete.c @@ -1272,6 +1272,13 @@ void save_complete_init(void) } /* Documented in save_complete.h */ +nserror save_complete_finalise(void) +{ + regfree(&save_complete_import_re); + return NSERROR_OK; +} + +/* Documented in save_complete.h */ bool save_complete(hlcache_handle *c, const char *path, diff --git a/desktop/save_complete.h b/desktop/save_complete.h index 3c389a56f..f7f250767 100644 --- a/desktop/save_complete.h +++ b/desktop/save_complete.h @@ -44,6 +44,12 @@ typedef void (*save_complete_set_type_cb)(const char *path, */ void save_complete_init(void); + +/** + * Finalise save complete module. + */ +nserror save_complete_finalise(void); + /** * Save an HTML page with all dependencies. * diff --git a/frontends/gtk/gui.c b/frontends/gtk/gui.c index f14c7bd92..ea8d77a46 100644 --- a/frontends/gtk/gui.c +++ b/frontends/gtk/gui.c @@ -543,6 +543,12 @@ static void gui_quit(void) messages_get_errorcode(res)); } + res = save_complete_finalise(); + if (res != NSERROR_OK) { + NSLOG(netsurf, INFO, "Error finalising save complete: %s", + messages_get_errorcode(res)); + } + free(nsgtk_config_home); gtk_fetch_filetype_fin(); |