static void cleanup(char *msg) { if (msg) printf("colorwheel: %s\n", msg); if (win) { if (wheelgad) RemoveGadget(win, wheelgad); if (gradgad) RemoveGadget(win, gradgad); CloseWindow(win); } if (wheelgad) DisposeObject((Object *)wheelgad); if (gradgad) DisposeObject((Object *)gradgad); if (pen1 != -1) ReleasePen(cm, pen1); if (pen2 != -1) ReleasePen(cm, pen2); if (dri) FreeScreenDrawInfo(scr, dri); if (scr) UnlockPubScreen(0, scr); if (ColorWheelBase) CloseLibrary(ColorWheelBase); if (GradientSliderBase) CloseLibrary(GradientSliderBase); if (UtilityBase) CloseLibrary((struct Library *)UtilityBase); if (GfxBase) CloseLibrary((struct Library *)GfxBase); if (IntuitionBase) CloseLibrary((struct Library *)IntuitionBase); exit(0); }
ULONG TAPEDECK_DELETE_Gadget(piClass *cl,piObject *o,Msg msg) { struct Node_Gadget *ng; piGetAttr(o,OBJ_Node,(ULONG *)&ng); if(ng->ng_Gadget && ng->ng_Window) RemoveGadget(((struct Node_Window *)OBJECT_DATA(ng->ng_Window))->nw_Window,ng->ng_Gadget); if(ng->ng_Gadget) DisposeObject(ng->ng_Gadget); ng->ng_Gadget=NULL; return piDoSuperMethodA(cl,o,msg); }
/*********************************************************************************** * Procedure: uncover_window * Synopsis: un(void)cover_window(); * Purpose: remove bool gadget from window - reactivate other gadgets ***********************************************************************************/ void uncover_window(void) { if (cover_count == 0) /* is this the last request to remove it? */ { if (cover) { RemoveGadget(global.window, cover); free_mem(cover, sizeof(struct Gadget)); cover = NULL; } } else /* don't take it off till the fat lady sings */ cover_count--; }
IPTR Prop__OM_DISPOSE(struct IClass *cl, Object *obj, Msg msg) { struct Prop_DATA *data = INST_DATA(cl, obj); if (data->prop_object && !data->usewinborder) { RemoveGadget(_window(obj), (struct Gadget *) data->prop_object); DisposeObject(data->prop_object); } DisposeImageContainer(data->buffer); DisposeImageContainer(data->temp); if (data->mapbuffer != NULL) FreeBitMap(data->mapbuffer); if (data->maptemp != NULL) FreeBitMap(data->maptemp); if (data->tmprp != NULL) FreeRastPort(data->tmprp); data->buffer = NULL; data->temp = NULL; data->mapbuffer = NULL; data->maptemp = NULL; data->tmprp = NULL; return DoSuperMethodA(cl, obj, msg); }