public void Dispose() { if (idle_timeout_id > 0) { GLib.Source.Remove (idle_timeout_id); } if (ServiceManager.PlayerEngine != null) { ServiceManager.PlayerEngine.DisconnectEvent (OnPlayerEvent); } }