Example #1
0
        /// <summary>
        /// Release an allocated ID for a feature that is being removed due to an undo.
        /// This nulls out the reference to the ID from its enclosing ID packet.
        /// </summary>
        /// <param name="id">The ID that should be returned to the pool of available IDs.</param>
        internal void ReleaseId(NativeId id)
        {
            IdPacket p = FindPacket(id);

            if (p == null)
            {
                throw new ApplicationException("Cannot locate packet for ID: " + id.FormattedKey);
            }

            p.DeleteId(id);
        }