protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _initialTimeoutTimer?.Dispose(); _blockTouchDelayTimer?.Dispose(); _pointerInputTargetWindow?.Dispose(); _inputProvider?.Dispose(); _surfaceForm?.Dispose(); } _surfaceForm = null; SystemEvents.SessionSwitch -= SystemEvents_SessionSwitch; if (_hWinEventHook != IntPtr.Zero) { UnhookWinEvent(_hWinEventHook); } if (_winEventGch.IsAllocated) { _winEventGch.Free(); } disposedValue = true; } }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _pointerInputTargetWindow?.Dispose(); _inputProvider?.Dispose(); _timeoutTimer?.Dispose(); } if (_hWinEventHook != IntPtr.Zero) { UnhookWinEvent(_hWinEventHook); } disposedValue = true; } }