/// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param> protected override void Dispose(bool disposing) { SaveThreadRunning = false; SavingEnabled = false; if (SaveThread != null) { try { lock (SaveBufferTrigger) { Monitor.Pulse(SaveBufferTrigger); } //SaveBufferTrigger.Release(1); if (!SaveThread.Join(300)) { SaveThread.Abort(); } } catch (Exception e) { } SaveThread = null; } if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); }
void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { SaveThread.Abort(); downloadThread.Abort(); } catch (Exception) { } }
public void SaveWorkSpace() { if (_currentFilePath != null) { SaveThread saveThread = new SaveThread(Shapes, Lines, _currentFilePath); saveThread.Start(); UndoRedo.ChangeSinceSave = false; StatusText = "File: \"" + _currentFilePath + "\" Saved successfully"; } else { SaveAsWorkSpace(); StatusText = "File: \"" + _currentFilePath + "\" Saved successfully"; } }
public void SaveAsWorkSpace() { SaveFileDialog save = new SaveFileDialog(); save.DefaultExt = ".scumle"; save.Filter = "(.scumle)|*.scumle"; if (save.ShowDialog() == true) { _currentFilePath = Path.GetFullPath(save.FileName); SaveThread saveThread = new SaveThread(Shapes, Lines, _currentFilePath); saveThread.Start(); UndoRedo.ChangeSinceSave = false; } StatusText = "File: \"" + _currentFilePath + "\" Saved successfully"; }
public void Shutdown() { if (SaveThread != null) { if (CacheData.Count > 0) { try { Closing = true; waiter.Set(); SaveThread.Join(); if (CacheData.Count > 0) { FlushAll(); } } catch (Exception) { } } } }
private static void Init() { if (config_ != null) { return; // already initialized. } LogCalled(); config_ = LoadOrderConfig.Deserialize(LocalLoadOrderPath) ?? new LoadOrderConfig(); int n = Math.Max(PlatformService.workshop.GetSubscribedItemCount(), config_.Assets.Length); assetsTable_ = new Hashtable(n * 10); foreach (var assetInfo in config_.Assets) { assetsTable_[assetInfo.Path] = assetInfo; } SaveThread.Init(); }
public static void Terminate() { LogCalled(); SaveThread.Terminate(); config_ = null; }