#include    <intuition/intuition.h>
#include    <devices/load.h>
#include    "execdef.h"
#include    "intuidef.h"
#include    "windownode.h"
#include    "windowinfo.h"
#include    "loadrecord.h"

#include    "CloseLoadWindow.proto"

#include    <exec/proto.h>
#include    <intuition/proto.h>

void
CloseLoadWindow(windownode)
    WindowNode *windownode;
{
    LoadRecord *record, *oldrecord;

    Remove(&windownode->node);
    for (record = (LoadRecord *)WINDOWINFO(windownode->window)->loadrecords.mlh_Head;
	 record->node.mln_Succ;  )
    {
	FreeMem((char *)record->start_data, (record->end_data - record->start_data) * sizeof(LoadDataValue));
	oldrecord = record;
	record = (LoadRecord *)record->node.mln_Succ;
	FreeMem((char *)oldrecord, sizeof(LoadRecord));
    }
    FreeMem((char *)WINDOWINFO(windownode->window), sizeof(WindowInfo));
    windownode->window->UserPort = NULL;
    CloseWindow(windownode->window);
    FreeMem((char *)windownode, sizeof(WindowNode));
}
