public void Dispose() { if (handler != null) { Idle.Remove(handler); handler = null; } }
/// <summary> /// Handles application shutdown procedures - terminating render threads, cleaning /// up the UI, etc. /// </summary> /// <param name="sender">Sender.</param> /// <param name="a">The alpha component.</param> private void OnDeleteEvent(object sender, DeleteEventArgs a) { this.IsShuttingDown = true; Idle.Remove(OnIdleRenderFrame); this.RenderingEngine.SetRenderTarget(null); this.RenderingEngine.Dispose(); this.ViewportWidget.Dispose(); Application.Quit(); a.RetVal = true; }