From cd5cd2f8f29e9b99942cbb232f622ad3ab074fc1 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 24 May 2016 03:33:02 +0200 Subject: [PATCH] cont'd work & fix bug introduced in 03660573e not every code path using InterthreadProgressWindow unsets cancel after creating the Window. --- gtk2_ardour/interthread_progress_window.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/interthread_progress_window.cc b/gtk2_ardour/interthread_progress_window.cc index 2f64644d5d..136d77eda0 100644 --- a/gtk2_ardour/interthread_progress_window.cc +++ b/gtk2_ardour/interthread_progress_window.cc @@ -50,7 +50,8 @@ InterthreadProgressWindow::InterthreadProgressWindow (ARDOUR::InterThreadInfo* i set_default_size (200, 100); show_all (); - hide (); + hide (); + _interthread_info->cancel = false; // override on_hide Glib::signal_timeout().connect (sigc::mem_fun (*this, &InterthreadProgressWindow::update), 100); } @@ -58,7 +59,8 @@ InterthreadProgressWindow::InterthreadProgressWindow (ARDOUR::InterThreadInfo* i void InterthreadProgressWindow::on_hide () { - if (!_interthread_info->done) { + if (_interthread_info && !_interthread_info->done) { + //catch user pressing 'esc' or WM close _interthread_info->cancel = true; } }