#include #include #include "execdef.h" #include "intuidef.h" #include "windownode.h" #include "windowinfo.h" #include "loadrecord.h" #include "CloseLoadWindow.proto" #include #include 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)); }