mirror of
https://github.com/crskycode/GARbro.git
synced 2024-11-23 21:55:34 +08:00
(OnPlaybackStopped): NAudio occasionally throws an exception in Dispose.
This commit is contained in:
parent
69382f33b9
commit
9c6d59bf70
@ -132,9 +132,17 @@ namespace GARbro.GUI
|
||||
/// </summary>
|
||||
protected override void OnClosing (CancelEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
SaveSettings();
|
||||
AudioDevice = null;
|
||||
CurrentAudio = null;
|
||||
SaveSettings();
|
||||
}
|
||||
catch (Exception X)
|
||||
{
|
||||
Trace.WriteLine (X.Message, "[OnClosing]");
|
||||
Trace.WriteLine (X.StackTrace, "Stack trace");
|
||||
}
|
||||
base.OnClosing (e);
|
||||
}
|
||||
|
||||
@ -843,9 +851,10 @@ namespace GARbro.GUI
|
||||
get { return m_audio_device; }
|
||||
set
|
||||
{
|
||||
if (m_audio_device != null)
|
||||
m_audio_device.Dispose();
|
||||
var old_value = m_audio_device;
|
||||
m_audio_device = value;
|
||||
if (old_value != null)
|
||||
old_value.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@ -855,9 +864,10 @@ namespace GARbro.GUI
|
||||
get { return m_audio_input; }
|
||||
set
|
||||
{
|
||||
if (m_audio_input != null)
|
||||
m_audio_input.Dispose();
|
||||
var old_value = m_audio_input;
|
||||
m_audio_input = value;
|
||||
if (old_value != null)
|
||||
old_value.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@ -903,10 +913,17 @@ namespace GARbro.GUI
|
||||
}
|
||||
|
||||
private void OnPlaybackStopped (object sender, StoppedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
SetResourceText ("");
|
||||
CurrentAudio = null;
|
||||
}
|
||||
catch (Exception X)
|
||||
{
|
||||
Trace.WriteLine (X.Message, "[OnPlaybackStopped]");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Launch specified file.
|
||||
|
Loading…
Reference in New Issue
Block a user