Exemple #1
0
 public void Dispose()
 {
     bDisposing = true;
     if (WorkerThread != null)
     {
         RefreshEvent.Set();
         if (!WorkerThread.Join(100))
         {
             WorkerThread.Abort();
         }
         WorkerThread = null;
     }
     if (LogWriter != null)
     {
         LogWriter.Dispose();
         LogWriter = null;
     }
 }
Exemple #2
0
        protected override void Dispose(bool bDisposing)
        {
            base.Dispose(bDisposing);

            if (Components != null)
            {
                Components.Dispose();
                Components = null;
            }

            if (Log != null)
            {
                Log.Dispose();
                Log = null;
            }

            if (UpdateMonitor != null)
            {
                UpdateMonitor.OnUpdateAvailable -= OnUpdateAvailableCallback;
                UpdateMonitor.Close();                 // prevent race condition
                UpdateMonitor = null;
            }

            if (ActivationListener != null)
            {
                ActivationListener.OnActivate -= OnActivationListenerAsyncCallback;
                ActivationListener.Stop();
                ActivationListener.Dispose();
                ActivationListener = null;
            }

            if (MainWindowInstance != null)
            {
                MainWindowInstance.ForceClose();
                MainWindowInstance = null;
            }

            if (DetectStartupProjectSettingsWindow != null)
            {
                DetectStartupProjectSettingsWindow.Close();
                DetectStartupProjectSettingsWindow = null;
            }
        }