private void CheckPending () { if (pending_engine != null && pending_engine != active_engine) { if (active_engine.CurrentState == PlayerState.Idle) { Close (); } active_engine = pending_engine; pending_engine = null; } }