/*
 *  REMOVEGADGETSAFELY.C
 */

#include "newlook.h"

extern UWORD RemoveGadget( struct Window *, struct Gadget * );
extern VOID RefreshGList( struct Gadget *, struct Window *, struct Requester *, UWORD );
extern void SetAPen( struct RastPort *, UBYTE );
extern void SetDrMd( struct RastPort *, UBYTE );
extern void RectFill( struct RastPort *, SHORT, SHORT, SHORT, SHORT );

USHORT RemoveGadgetSafely(w,g)
struct Window *w;
struct Gadget *g;
{ UBYTE apen= w->RPort->FgPen,
        drmd= w->RPort->DrawMode;
  USHORT pos= RemoveGadget(w,g);
  RefreshGList(g,w,NULL,1L);
  SetAPen(w->RPort,w->RPort->BgPen);
  SetDrMd(w->RPort,JAM2);
  RectFill(w->RPort, g->LeftEdge, g->TopEdge,
    g->LeftEdge+g->Width,g->TopEdge+g->Height);
  SetDrMd(w->RPort,drmd);
  SetAPen(w->RPort,apen);
  return pos;
}
