From 1d5dc77c4d8de93780dc6197bdc4166eedce7e92 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Sun, 18 Dec 2016 20:47:00 +0900 Subject: [PATCH] Keep reference to reader to avoid early disposal. --- osu.Game/Beatmaps/WorkingBeatmap.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/osu.Game/Beatmaps/WorkingBeatmap.cs b/osu.Game/Beatmaps/WorkingBeatmap.cs index 4c9848363b..9184607398 100644 --- a/osu.Game/Beatmaps/WorkingBeatmap.cs +++ b/osu.Game/Beatmaps/WorkingBeatmap.cs @@ -67,6 +67,7 @@ namespace osu.Game.Beatmaps set { lock (beatmapLock) beatmap = value; } } + private ArchiveReader trackReader; private AudioTrack track; private object trackLock = new object(); public AudioTrack Track @@ -79,12 +80,11 @@ namespace osu.Game.Beatmaps try { - using (var reader = GetReader()) - { - var trackData = reader?.GetStream(BeatmapInfo.Metadata.AudioFile); - if (trackData != null) - track = new AudioTrackBass(trackData); - } + //store a reference to the reader as we may continue accessing the stream in the background. + trackReader = GetReader(); + var trackData = trackReader?.GetStream(BeatmapInfo.Metadata.AudioFile); + if (trackData != null) + track = new AudioTrackBass(trackData); } catch { }