diff --git a/DiscImageChef/ChangeLog b/DiscImageChef/ChangeLog index 8038b319c..5f6508024 100644 --- a/DiscImageChef/ChangeLog +++ b/DiscImageChef/ChangeLog @@ -1,3 +1,10 @@ +2015-05-23 Natalia Portillo + + * ImagePlugins/CDRWin.cs: + Solved CDRWin plugin not working on .NET Framework and in + Mono 4.0. Seems a bug in the framework implementation + nonetheless, this workarounds satisfactorily. + 2015-05-19 Natalia Portillo * Main.cs: diff --git a/DiscImageChef/ImagePlugins/CDRWin.cs b/DiscImageChef/ImagePlugins/CDRWin.cs index 0c7f4bd24..50675dfb7 100644 --- a/DiscImageChef/ImagePlugins/CDRWin.cs +++ b/DiscImageChef/ImagePlugins/CDRWin.cs @@ -457,7 +457,14 @@ namespace DiscImageChef.ImagePlugins cuetracks = new CDRWinTrack[track_count]; line = 0; - cueStream.BaseStream.Seek(0, SeekOrigin.Begin); + // Mono <= 3.5 allowed this to work, with .Peek() NOT returning EOF. + // However .NET framework has always returned EOF even with this rewind. + // Mono 4.0 copied their bug (feature?) + //cueStream.BaseStream.Seek(0, SeekOrigin.Begin); + + // Forcing me to do + cueStream.Close(); + cueStream = new StreamReader(imagePath); while (cueStream.Peek() >= 0) {