diff options
author | Robin Gareus <robin@gareus.org> | 2016-05-21 23:30:11 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-05-21 23:30:11 +0200 |
commit | 03660573e28dbc3574d5964cc0392832b8f46557 (patch) | |
tree | 79c9786815951c32770258f0ea77a81e11444435 /gtk2_ardour/interthread_progress_window.cc | |
parent | 9ad096b6110e55d7f74e9724cd67246416c090be (diff) |
fix import-thread SNAFU
* pressing Esc or WM close button did not cancel import thread
* proper Abort does not wait for import thread either
It was possible to launch a 2nd (and Nth) import thread, all sharing
the Editor's ImportStatus data-structure, all having the same
registered thread-name and same thread-pool name. Plenty of room for
crashes.
Diffstat (limited to 'gtk2_ardour/interthread_progress_window.cc')
-rw-r--r-- | gtk2_ardour/interthread_progress_window.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/interthread_progress_window.cc b/gtk2_ardour/interthread_progress_window.cc index e63bf629a9..2f64644d5d 100644 --- a/gtk2_ardour/interthread_progress_window.cc +++ b/gtk2_ardour/interthread_progress_window.cc @@ -56,6 +56,14 @@ InterthreadProgressWindow::InterthreadProgressWindow (ARDOUR::InterThreadInfo* i } void +InterthreadProgressWindow::on_hide () +{ + if (!_interthread_info->done) { + _interthread_info->cancel = true; + } +} + +void InterthreadProgressWindow::cancel_clicked () { _interthread_info->cancel = true; |