summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-11 19:45:49 +0200
committerRobin Gareus <robin@gareus.org>2017-08-11 19:45:49 +0200
commit3ff352be7950726876c4818d7f6cf2311235ac6d (patch)
tree4b769f905c2cc80ea6daa8ba5ffd5fb8f632b3d8
parent7d48e80e5f9a571f76181cc4cb95f1d8a26635a8 (diff)
Maybe fix crash on Close Session -> Quit (windows threading)
-rw-r--r--gtk2_ardour/ardour_ui.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 486559816c..fadbc0a7bb 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -3479,15 +3479,11 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
break;
default:
if (quit_on_cancel) {
- // JE - Currently (July 2014) this section can only get reached if the
- // user quits from the main 'Session Setup' dialog (i.e. reaching this
- // point does NOT indicate an abnormal termination). Therefore, let's
- // behave gracefully (i.e. let's do some cleanup) before we call exit()
- assert (!_session);
+ ARDOUR_UI::finish ();
+ Gtkmm2ext::Application::instance()->cleanup();
ARDOUR::cleanup ();
pthread_cancel_all ();
-
- exit (1);
+ return -1; // caller is responsible to call exit()
} else {
return ret;
}