Ejemplo n.º 1
0
        /// <summary>
        /// Dispose pattern implementation of dispose method.
        /// </summary>
        /// <param name="disposing">True if disposing, false if finalizing.</param>
        protected virtual void Dispose(bool disposing)
        {
            if (IsDisposed)
            {
                return;
            }

            if (TextureSwapChainPtr != IntPtr.Zero)
            {
                _ovr.DestroyTextureSwapChain(_sessionPtr, TextureSwapChainPtr);
                TextureSwapChainPtr = IntPtr.Zero;

                // Notify subscribers that this object has been disposed.
                if (Disposed != null)
                {
                    Disposed(this);
                }
            }

            GC.SuppressFinalize(this);

            IsDisposed = true;
        }