#include #include #include "execdef.h" #include "intuidef.h" #include "windownode.h" #include "Cleanup.proto" #include #include "CloseLoadWindow.proto" extern Library *GfxBase; extern struct IntuitionBase *IntuitionBase; extern MinList windowList; extern MsgPort *windowPort; extern MsgPort *loadPort; extern loadrequest *loadRequest; void Cleanup() { WindowNode *windownode, *oldwindownode; for (windownode = (WindowNode *)windowList.mlh_Head; windownode->node.mln_Succ; ) { oldwindownode = windownode; windownode = (WindowNode *)windownode->node.mln_Succ; CloseLoadWindow(oldwindownode); } if (loadRequest) { if (loadRequest->lr_node.io_Device) CloseDevice((IORequest *)loadRequest); DeleteExtIO((IORequest *)loadRequest, sizeof(loadrequest)); } if (loadPort) DeletePort(loadPort); if (windowPort) DeletePort(windowPort); if (IntuitionBase) CloseLibrary((Library *)IntuitionBase); if (GfxBase) CloseLibrary(GfxBase); }