private void Dispose(bool called_from_finalizer) { if (_disposed) { return; } if (!called_from_finalizer) { PlatformWindow.Dispose(); } // dispose unmanaged _disposed = true; GC.SuppressFinalize(this); }