protected override void Dispose(bool disposing) { if (disposing) { if (mGViewer != null) { mGViewer.MouseClick -= MGViewer_MouseClick; mGViewer.ObjectUnderMouseCursorChanged -= MGViewer_ObjectUnderMouseCursorChanged; mGViewer.Dispose(); mGViewer = null; } if (mCSharpFSMClone != null) { mCSharpFSMClone.Dispose(); mCSharpFSMClone = null; } if (components != null) { components.Dispose(); } } base.Dispose(disposing); }