protected override void Dispose(bool disposing) { if (disposing) { m_dockState = DockState.Unknown; if (NestedPanesContainer != null) { NestedPanesContainer.NestedPanes.Remove(this); } if (DockPanel != null) { DockPanel.RemovePane(this); DockPanel = null; } Splitter.Dispose(); if (AutoHidePane != null) { AutoHidePane.Dispose(); } } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (disposing) { // IMPORTANT: avoid nested call into this method on Mono. // https://github.com/dockpanelsuite/dockpanelsuite/issues/16 if (Win32Helper.IsRunningOnMono) { if (_mIsDisposing) { return; } _mIsDisposing = true; } _mDockState = DockState.Unknown; NestedPanesContainer?.NestedPanes.Remove(this); if (DockPanel != null) { DockPanel.RemovePane(this); DockPanel = null; } Splitter.Dispose(); AutoHidePane?.Dispose(); } base.Dispose(disposing); }