/// <inheritdoc /> protected override void Unload() { // Unload CleanFavorites(); GameService.Overlay.UserLocaleChanged -= ChangeLocalization; printScreenKey.Enabled = false; printScreenKey.Activated -= ScreenshotNotify; printScreenKey = null; modulePanel.Hidden -= ToggleFileSystemWatchers; modulePanel.Shown -= ToggleFileSystemWatchers; modulePanel.Shown -= LoadImages; GameService.Overlay.BlishHudWindow.RemoveTab(moduleTab); moduleTab = null; modulePanel?.Dispose(); moduleCornerIcon?.Dispose(); thumbnailFlowPanel?.Dispose(); // avoiding resource leak for (var i = 0; i < screensPathWatchers.Count; i++) { if (screensPathWatchers[i] == null) { continue; } screensPathWatchers[i].Created -= OnScreenshotCreated; screensPathWatchers[i].Deleted -= OnScreenshotDeleted; screensPathWatchers[i].Renamed -= OnScreenshotRenamed; screensPathWatchers[i].Dispose(); screensPathWatchers[i] = null; } displayedThumbnails.Clear(); displayedThumbnails = null; // All static members must be manually unset ModuleInstance = null; }
public ScreenshotManagerModule([Import("ModuleParameters")] ModuleParameters moduleParameters) : base( moduleParameters) { ModuleInstance = this; _invalidFileNameCharacters = Path.GetInvalidFileNameChars().Union(Path.GetInvalidPathChars()); }