summaryrefslogtreecommitdiff
path: root/src/wx/text_panel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/wx/text_panel.cc')
-rw-r--r--src/wx/text_panel.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/wx/text_panel.cc b/src/wx/text_panel.cc
index 630ca6944..fa039dbde 100644
--- a/src/wx/text_panel.cc
+++ b/src/wx/text_panel.cc
@@ -809,13 +809,16 @@ TextPanel::try_to_load_analysis ()
}
_loading_analysis = true;
+ ScopeGuard sg = [this]() {
+ _loading_analysis = false;
+ setup_sensitivity();
+ };
+
setup_sensitivity ();
_analysis.reset ();
auto content = _analysis_content.lock ();
if (!content) {
- _loading_analysis = false;
- setup_sensitivity ();
return;
}
@@ -823,7 +826,7 @@ TextPanel::try_to_load_analysis ()
if (!boost::filesystem::exists(path)) {
for (auto i: JobManager::instance()->get()) {
- if (dynamic_pointer_cast<AnalyseSubtitlesJob>(i)) {
+ if (dynamic_pointer_cast<AnalyseSubtitlesJob>(i) && !i->finished()) {
i->cancel ();
}
}
@@ -842,11 +845,9 @@ TextPanel::try_to_load_analysis ()
_parent->film(), content, _analysis_finished_connection, bind(&TextPanel::analysis_finished, this)
);
return;
- }
+ }
update_outline_subtitles_in_viewer ();
- _loading_analysis = false;
- setup_sensitivity ();
}