protected override void Dispose(bool disposing)
            {
                lock (this) {
                    if (!m_disposed && disposing)
                    {
                        m_localWindowsHook.Dispose();
                        m_disposed = true;
                    }

                    base.Dispose(disposing);
                }
            }
            protected override void Dispose(bool disposing)
            {
                lock (this)
                {
                    if (!m_disposed && disposing)
                    {
                        if (NativeMethods.ShouldUseWin32())
                        {
                            m_localWindowsHook.Dispose();
                        }
                        m_disposed = true;
                    }

                    base.Dispose(disposing);
                }
            }
Example #3
0
            protected override void Dispose(bool disposing)
            {
                if (!m_disposed && disposing)
                {
                    if (!Win32Helper.IsRunningOnMono)
                    {
                        sm_localWindowsHook.HookInvoked -= m_hookEventHandler;
                    }

                    --_referenceCount;

                    if (_referenceCount == 0 && sm_localWindowsHook != null)
                    {
                        sm_localWindowsHook.Dispose();
                        sm_localWindowsHook = null;
                    }

                    m_disposed = true;
                }

                base.Dispose(disposing);
            }