X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=src%2Fglk.c;h=c4f395441de42e7331bdc3cb3bf4be1bc9236ee7;hb=91214934fbcdfd363202a65c142194506604ff7b;hp=6077dd542d02029a699e3797586d922816de2f5c;hpb=904fed6618b22e84597efd60c3784e57d44f3ef1;p=projects%2Fchimara%2Fchimara.git diff --git a/src/glk.c b/src/glk.c index 6077dd5..c4f3954 100644 --- a/src/glk.c +++ b/src/glk.c @@ -4,6 +4,7 @@ #include "abort.h" #include "chimara-glk.h" #include "chimara-glk-private.h" +#include "gi_blorb.h" ChimaraGlkPrivate *glk_data = NULL; @@ -42,6 +43,16 @@ void glk_exit(void) { g_signal_emit_by_name(glk_data->self, "stopped"); + + /* Stop any timers */ + glk_request_timer_events(0); + + /* Close any open resource files */ + if(glk_data->resource_map != NULL) { + giblorb_destroy_map(glk_data->resource_map); + glk_stream_close(glk_data->resource_file, NULL); + } + glk_data = NULL; g_thread_exit(NULL); }