void DeActivateBind(boolean ev_trigger) { if (event.IsTrigger()) { if (!active) return; active = false; if ((flags & BFLG_Hold) != 0) { if (!holding) { holdlist.add(this); holding = true; return; } else { holdlist.remove(this); holding = false; } } event.DeActivateEvent(ev_trigger); } else { /* store value for possible later use in the activated event */ event.SetValue(0); event.DeActivateEvent(ev_trigger); } }