func (t *textureImpl) Release() { t.releasedMu.Lock() released := t.released t.released = true t.releasedMu.Unlock() if released { return } render.FreePicture(t.s.xc, t.xp) xproto.FreePixmap(t.s.xc, t.xm) }
func (w *windowImpl) Release() { w.mu.Lock() released := w.released w.released = true w.mu.Unlock() if released { return } render.FreePicture(w.s.xc, w.xp) xproto.FreeGC(w.s.xc, w.xg) xproto.DestroyWindow(w.s.xc, w.xw) w.pump.Release() }
func (w *windowImpl) Release() { w.mu.Lock() released := w.released w.released = true w.mu.Unlock() // TODO: set w.dead and call w.sendLifecycle, a la handling atomWMDeleteWindow? if released { return } render.FreePicture(w.s.xc, w.xp) xproto.FreeGC(w.s.xc, w.xg) xproto.DestroyWindow(w.s.xc, w.xw) }