From 0f9289dc0ff99a3b69b6433fba3874aaae6d8a77 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sat, 14 Apr 2012 03:17:22 +0000 Subject: [PATCH] Reduce how long the CSRI lock is held Originally committed to SVN as r6699. --- aegisub/src/subtitles_provider_csri.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/aegisub/src/subtitles_provider_csri.cpp b/aegisub/src/subtitles_provider_csri.cpp index 5605d254a..bc0050ceb 100644 --- a/aegisub/src/subtitles_provider_csri.cpp +++ b/aegisub/src/subtitles_provider_csri.cpp @@ -83,12 +83,11 @@ CSRISubtitlesProvider::~CSRISubtitlesProvider() { } void CSRISubtitlesProvider::LoadSubtitles(AssFile *subs) { - wxMutexLocker lock(csri_mutex); - - // Open from memory if (can_open_mem) { std::vector data; subs->SaveMemory(data); + + wxMutexLocker lock(csri_mutex); instance = csri_open_mem(renderer, &data[0], data.size(), NULL); } // Open from disk @@ -99,6 +98,8 @@ void CSRISubtitlesProvider::LoadSubtitles(AssFile *subs) { tempfile += ".ass"; } subs->Save(tempfile, false, false, wxSTRING_ENCODING); + + wxMutexLocker lock(csri_mutex); instance = csri_open_file(renderer, tempfile.utf8_str(), NULL); } }