From 7543833037e1e44f8f4b6ce950c4d7833bd93c42 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Thu, 18 Aug 2016 00:32:33 +0100 Subject: Ensure we don't use a half-opened library if it is optional. --- frontends/amiga/libs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontends/amiga/libs.c b/frontends/amiga/libs.c index d7271896f..c3b1bf98b 100644 --- a/frontends/amiga/libs.c +++ b/frontends/amiga/libs.c @@ -62,7 +62,7 @@ if(I##PREFIX == NULL) { \ LOG("Failed to get %s interface v%d of %s", INTERFACE, INTVER, LIB); \ if(FAIL == true) { \ - STRPTR error = ASPrintf("Unable to open interface %s v%d\nof %s v%ld (fatal error)", INTERFACE, INTVER, LIB, LIBVER); \ + STRPTR error = ASPrintf("Unable to open interface %s v%d\nof %s v%ld (fatal error - not an OS4 lib?)", INTERFACE, INTVER, LIB, LIBVER); \ ami_misc_fatal_error(error); \ FreeVec(error); \ return false; \ @@ -80,7 +80,9 @@ #define AMINS_LIB_CLOSE(PREFIX) \ if(I##PREFIX) DropInterface((struct Interface *)I##PREFIX); \ - if(PREFIX##Base) CloseLibrary((struct Library *)PREFIX##Base); + if(PREFIX##Base) CloseLibrary((struct Library *)PREFIX##Base); \ + I##PREFIX = NULL; \ + PREFIX##Base = NULL; #define AMINS_LIB_STRUCT(PREFIX) \ struct PREFIX##Base *PREFIX##Base = NULL; \ -- cgit v1.2.3