Exemplo n.º 1
0
        internal void RemoveDisable(NiAVObject obj)
        {
            if (obj == null)
            {
                return;
            }

            bool had = false;

            lock (this.Locker)
            {
                IntPtr addr = obj.Address;
                for (int i = 0; i < this.Disabled.Count; i++)
                {
                    if (this.Disabled[i].Address == addr)
                    {
                        this.Disabled.RemoveAt(i);
                        had = true;
                        break;
                    }
                }
            }

            if (!had)
            {
                return;
            }

            SetEnabled(obj, true);
            obj.DecRef();
        }
        internal void RemoveDisable(NiAVObject obj)
        {
            if (obj == null)
            {
                return;
            }

            var had   = false;
            var reset = 0;

            lock (Locker)
            {
                var addr = obj.Address;
                for (var i = 0; i < Disabled.Count; i++)
                {
                    if (Disabled[i].Item1.Address == addr)
                    {
                        reset = Disabled[i].Item2;
                        Disabled.RemoveAt(i);
                        had = true;
                        break;
                    }
                }
            }

            if (!had)
            {
                return;
            }

            if (reset > 0)
            {
                SetEnabled(obj, true);
            }
            obj.DecRef();
        }