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); m_dockPanel = null; } Splitter.Dispose(); if (m_autoHidePane != null) { m_autoHidePane.Dispose(); } } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { // IMPORTANT: avoid nested call into this method on Mono. // https://github.com/dockpanelsuite/dockpanelsuite/issues/16 if (!NativeMethods.ShouldUseWin32() && m_inDisposing) { return; } if (!NativeMethods.ShouldUseWin32()) { m_inDisposing = true; } if (disposing) { m_dockState = DockState.Unknown; if (NestedPanesContainer != null) { NestedPanesContainer.NestedPanes.Remove(this); } if (DockPanel != null) { DockPanel.RemovePane(this); m_dockPanel = null; } Splitter.Dispose(); if (m_autoHidePane != null) { m_autoHidePane.Dispose(); } } base.Dispose(disposing); }