Example #1
0
        public void Dispose()
        {
            if (m_data_set != null)
            {
                m_data_set.Dispose();
                m_data_source.Dispose();
            }

            m_data_set = null;
        }
Example #2
0
        /// <summary>
        /// This allows overriding layers to handle any memory cleanup.
        /// </summary>
        /// <param name="disposeManagedResources">True if managed resources should be set to null.</param>
        protected virtual void Dispose(bool disposeManagedResources)
        {
            if (_isDisposed)
            {
                return;
            }
            if (disposeManagedResources)
            {
                LayerSelected         = null;
                ZoomToLayer           = null;
                ShowProperties        = null;
                FinishedLoading       = null;
                SelectionChanged      = null;
                base.ContextMenuItems = null;
                MyExtent                = null;
                base.LegendText         = null;
                _progressHandler        = null;
                _progressMeter          = null;
                _invalidatedRegion      = null;
                _mapFrame               = null;
                _propertyDialogProvider = null;
                // Since the InnerDataset likely contains unmanaged memory constructs, dispose of it here.
                if (_dataSet != null)
                {
                    _dataSet.UnlockDispose();
                    if (!_dataSet.IsDisposeLocked)
                    {
                        _dataSet.Dispose();
                    }
                    _dataSet = null;
                }
                if (_editCopy != null)
                {
                    _editCopy.Dispose();
                    _editCopy = null;
                }
            }

            _isDisposed = true;
        }