diff options
Diffstat (limited to 'MediaBrowser.Controller/Session/SessionInfo.cs')
| -rw-r--r-- | MediaBrowser.Controller/Session/SessionInfo.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs index f590d9aec..11a9ceac4 100644 --- a/MediaBrowser.Controller/Session/SessionInfo.cs +++ b/MediaBrowser.Controller/Session/SessionInfo.cs @@ -203,6 +203,11 @@ namespace MediaBrowser.Controller.Session public void StartAutomaticProgress(ITimerFactory timerFactory, PlaybackProgressInfo progressInfo) { + if (_disposed) + { + return; + } + lock (_progressLock) { _lastProgressInfo = progressInfo; @@ -223,6 +228,11 @@ namespace MediaBrowser.Controller.Session private async void OnProgressTimerCallback(object state) { + if (_disposed) + { + return; + } + var progressInfo = _lastProgressInfo; if (progressInfo == null) { @@ -274,8 +284,12 @@ namespace MediaBrowser.Controller.Session } } + private bool _disposed = false; + public void Dispose() { + _disposed = true; + StopAutomaticProgress(); _sessionManager = null; } |
