summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2014-02-15 01:12:13 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2014-02-15 01:12:13 +0000
commitf2ef17a1b5b268291c0d9c100beca3134923d4ed (patch)
tree1efeb2c61b8fe51abf7ae9f0b2321e705565c02c
parentdf5e5fb4875671181070f38cf15b5696d091a924 (diff)
downloadnetsurf-f2ef17a1b5b268291c0d9c100beca3134923d4ed.tar.gz
netsurf-f2ef17a1b5b268291c0d9c100beca3134923d4ed.tar.bz2
Process the ShutdownMsgId message sent by the AmigaGuide help system, and clean up if it is received.
However, there appears to be a long-standing bug in amigaguide.library which means this is never sent.
-rwxr-xr-xamiga/agclass/amigaguide_class.c4
-rwxr-xr-xamiga/help.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/amiga/agclass/amigaguide_class.c b/amiga/agclass/amigaguide_class.c
index fa88dd642..5f24fc56d 100755
--- a/amiga/agclass/amigaguide_class.c
+++ b/amiga/agclass/amigaguide_class.c
@@ -361,6 +361,10 @@ uint32 agm_process(Class *cl, Object *o, Msg msg)
if (lod->agHandle) {
while ( (lod->agm = IAmigaGuide->GetAmigaGuideMsg(lod->agHandle)) ) {
switch(lod->agm->agm_Type) {
+ case ShutdownMsgId:
+ agm_close(cl, o, (Msg)msg);
+ break;
+
default:
//printf("%d\n", lod->agm->agm_Type);
break;
diff --git a/amiga/help.c b/amiga/help.c
index f094c70ec..a2e4f05a5 100755
--- a/amiga/help.c
+++ b/amiga/help.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2013 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ * Copyright 2013-4 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -78,6 +78,6 @@ ULONG ami_help_signal(void)
void ami_help_process(void)
{
ULONG ret = IDoMethod(AmigaGuideObject, AGM_PROCESS, NULL);
- //printf("ret = %d\n", ret); // should be NULL if closed
+ if(ret == NULL) ami_help_free();
}