diff --git a/aegisub/src/audio_controller.cpp b/aegisub/src/audio_controller.cpp index be97df39f..a8a959e56 100644 --- a/aegisub/src/audio_controller.cpp +++ b/aegisub/src/audio_controller.cpp @@ -331,8 +331,16 @@ void AudioController::OpenAudio(const wxString &url) video_position_marker_provider->AddMarkerMovedListener(std::tr1::bind(std::tr1::ref(AnnounceMarkerMoved))); } - // Tell listeners about this. - AnnounceAudioOpen(provider); + try + { + // Tell listeners about this. + AnnounceAudioOpen(provider); + } + catch (...) + { + CloseAudio(); + throw; + } }