2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
5 Desc: Remove a window from Workbench's list of AppWindows.
9 #include <exec/lists.h>
11 #include "workbench_intern.h"
12 #include <workbench/workbench.h>
14 /*****************************************************************************
18 #include <proto/workbench.h>
20 AROS_LH1(BOOL
, RemoveAppWindow
,
24 AROS_LHA(struct AppWindow
*, appWindow
, A0
),
27 struct WorkbenchBase
*, WorkbenchBase
, 9, Workbench
)
31 Try to remove an AppWindow from workbench.library's list of AppWindow:s.
35 appWindow -- pointer to AppWindow structure got from AddAppWindow().
39 TRUE if the window could be removed, FALSE otherwise.
43 You have to do another check for messages on the AppWindow message port
44 you specified at the AppWindow creation time (AddAppWindow()) after the
45 window is removed as it may have arrived messages between the last time
46 you checked and the call of this function.
47 Before the AppWindow is removed, all its drop zones will be removed.
48 Thus there is no need to call RemoveAppWindowDropZone() explicitly.
56 AddAppWindowA(), RemoveAppWindowDropZone()
60 ******************************************************************************/
64 if (appWindow
== NULL
)
71 while (!IsListEmpty(&appWindow
->aw_DropZones
))
73 RemoveAppWindowDropZone(appWindow
,
74 (struct AppWindowDropZone
*)GetHead(&appWindow
->aw_DropZones
));
77 Remove((struct Node
*)appWindow
);
83 /* NotifyWorkbench(WBNOTIFY_Create, WBNOTIFY_AppWindow, WorkbenchBase); */
88 } /* RemoveAppWindow */